#include "fixed.hpp"

namespace vl
{

int fixed::cos_table[4096] = {65536
, 65535, 65535, 65535, 65534, 65534, 65533, 65532, 65531, 65529, 65528, 65526, 65524, 65522, 65520, 65518, 65516, 65513, 65511, 65508, 65505
, 65501, 65498, 65495, 65491, 65487, 65483, 65479, 65475, 65471, 65466, 65461, 65457, 65452, 65446, 65441, 65436, 65430, 65424, 65418, 65412
, 65406, 65400, 65393, 65386, 65379, 65372, 65365, 65358, 65350, 65343, 65335, 65327, 65319, 65311, 65302, 65294, 65285, 65276, 65267, 65258
, 65249, 65239, 65230, 65220, 65210, 65200, 65190, 65179, 65169, 65158, 65147, 65136, 65125, 65114, 65102, 65091, 65079, 65067, 65055, 65043
, 65030, 65018, 65005, 64992, 64979, 64966, 64953, 64939, 64926, 64912, 64898, 64884, 64870, 64855, 64841, 64826, 64811, 64796, 64781, 64766
, 64751, 64735, 64719, 64703, 64687, 64671, 64655, 64638, 64622, 64605, 64588, 64571, 64553, 64536, 64518, 64501, 64483, 64465, 64447, 64428
, 64410, 64391, 64372, 64353, 64334, 64315, 64296, 64276, 64257, 64237, 64217, 64197, 64176, 64156, 64135, 64115, 64094, 64073, 64051, 64030
, 64009, 63987, 63965, 63943, 63921, 63899, 63876, 63854, 63831, 63808, 63785, 63762, 63739, 63715, 63692, 63668, 63644, 63620, 63596, 63571
, 63547, 63522, 63498, 63473, 63447, 63422, 63397, 63371, 63346, 63320, 63294, 63268, 63241, 63215, 63188, 63162, 63135, 63108, 63080, 63053
, 63026, 62998, 62970, 62942, 62914, 62886, 62858, 62829, 62800, 62772, 62743, 62714, 62684, 62655, 62625, 62596, 62566, 62536, 62506, 62475
, 62445, 62414, 62384, 62353, 62322, 62291, 62259, 62228, 62196, 62164, 62133, 62100, 62068, 62036, 62003, 61971, 61938, 61905, 61872, 61839
, 61805, 61772, 61738, 61705, 61671, 61637, 61602, 61568, 61533, 61499, 61464, 61429, 61394, 61359, 61323, 61288, 61252, 61216, 61180, 61144
, 61108, 61071, 61035, 60998, 60961, 60924, 60887, 60850, 60813, 60775, 60737, 60700, 60662, 60624, 60585, 60547, 60508, 60470, 60431, 60392
, 60353, 60313, 60274, 60235, 60195, 60155, 60115, 60075, 60035, 59994, 59954, 59913, 59872, 59831, 59790, 59749, 59708, 59666, 59625, 59583
, 59541, 59499, 59457, 59414, 59372, 59329, 59286, 59243, 59200, 59157, 59114, 59070, 59027, 58983, 58939, 58895, 58851, 58807, 58762, 58718
, 58673, 58628, 58583, 58538, 58493, 58447, 58402, 58356, 58310, 58264, 58218, 58172, 58125, 58079, 58032, 57986, 57939, 57892, 57844, 57797
, 57750, 57702, 57654, 57606, 57558, 57510, 57462, 57414, 57365, 57316, 57268, 57219, 57170, 57120, 57071, 57022, 56972, 56922, 56872, 56822
, 56772, 56722, 56671, 56621, 56570, 56519, 56468, 56417, 56366, 56315, 56263, 56212, 56160, 56108, 56056, 56004, 55952, 55899, 55847, 55794
, 55741, 55688, 55635, 55582, 55529, 55475, 55422, 55368, 55314, 55260, 55206, 55152, 55097, 55043, 54988, 54933, 54879, 54823, 54768, 54713
, 54658, 54602, 54546, 54491, 54435, 54379, 54323, 54266, 54210, 54153, 54097, 54040, 53983, 53926, 53869, 53811, 53754, 53696, 53639, 53581
, 53523, 53465, 53407, 53348, 53290, 53231, 53172, 53114, 53055, 52996, 52936, 52877, 52818, 52758, 52698, 52639, 52579, 52518, 52458, 52398
, 52338, 52277, 52216, 52155, 52095, 52033, 51972, 51911, 51850, 51788, 51726, 51665, 51603, 51541, 51478, 51416, 51354, 51291, 51229, 51166
, 51103, 51040, 50977, 50914, 50850, 50787, 50723, 50660, 50596, 50532, 50468, 50403, 50339, 50275, 50210, 50146, 50081, 50016, 49951, 49886
, 49820, 49755, 49690, 49624, 49558, 49492, 49426, 49360, 49294, 49228, 49161, 49095, 49028, 48961, 48895, 48828, 48760, 48693, 48626, 48558
, 48491, 48423, 48355, 48288, 48219, 48151, 48083, 48015, 47946, 47878, 47809, 47740, 47671, 47602, 47533, 47464, 47394, 47325, 47255, 47186
, 47116, 47046, 46976, 46906, 46835, 46765, 46695, 46624, 46553, 46482, 46411, 46340, 46269, 46198, 46127, 46055, 45984, 45912, 45840, 45768
, 45696, 45624, 45552, 45480, 45407, 45335, 45262, 45189, 45116, 45043, 44970, 44897, 44824, 44750, 44677, 44603, 44530, 44456, 44382, 44308
, 44234, 44160, 44085, 44011, 43936, 43862, 43787, 43712, 43637, 43562, 43487, 43412, 43336, 43261, 43185, 43110, 43034, 42958, 42882, 42806
, 42730, 42653, 42577, 42501, 42424, 42347, 42271, 42194, 42117, 42040, 41962, 41885, 41808, 41730, 41653, 41575, 41497, 41419, 41342, 41263
, 41185, 41107, 41029, 40950, 40872, 40793, 40714, 40636, 40557, 40478, 40399, 40319, 40240, 40161, 40081, 40002, 39922, 39842, 39762, 39682
, 39602, 39522, 39442, 39362, 39281, 39201, 39120, 39039, 38958, 38878, 38797, 38716, 38634, 38553, 38472, 38390, 38309, 38227, 38146, 38064
, 37982, 37900, 37818, 37736, 37653, 37571, 37489, 37406, 37324, 37241, 37158, 37075, 36992, 36909, 36826, 36743, 36660, 36576, 36493, 36409
, 36326, 36242, 36158, 36074, 35990, 35906, 35822, 35738, 35654, 35569, 35485, 35400, 35316, 35231, 35146, 35061, 34976, 34891, 34806, 34721
, 34635, 34550, 34465, 34379, 34293, 34208, 34122, 34036, 33950, 33864, 33778, 33692, 33605, 33519, 33433, 33346, 33260, 33173, 33086, 32999
, 32912, 32826, 32738, 32651, 32564, 32477, 32390, 32302, 32215, 32127, 32039, 31952, 31864, 31776, 31688, 31600, 31512, 31424, 31335, 31247
, 31159, 31070, 30982, 30893, 30804, 30715, 30627, 30538, 30449, 30360, 30271, 30181, 30092, 30003, 29913, 29824, 29734, 29645, 29555, 29465
, 29375, 29285, 29196, 29105, 29015, 28925, 28835, 28745, 28654, 28564, 28473, 28383, 28292, 28201, 28111, 28020, 27929, 27838, 27747, 27656
, 27565, 27473, 27382, 27291, 27199, 27108, 27016, 26925, 26833, 26741, 26649, 26557, 26465, 26373, 26281, 26189, 26097, 26005, 25913, 25820
, 25728, 25635, 25543, 25450, 25357, 25265, 25172, 25079, 24986, 24893, 24800, 24707, 24614, 24521, 24427, 24334, 24241, 24147, 24054, 23960
, 23867, 23773, 23679, 23586, 23492, 23398, 23304, 23210, 23116, 23022, 22928, 22833, 22739, 22645, 22551, 22456, 22362, 22267, 22173, 22078
, 21983, 21889, 21794, 21699, 21604, 21509, 21414, 21319, 21224, 21129, 21034, 20938, 20843, 20748, 20652, 20557, 20461, 20366, 20270, 20175
, 20079, 19983, 19888, 19792, 19696, 19600, 19504, 19408, 19312, 19216, 19120, 19024, 18927, 18831, 18735, 18638, 18542, 18446, 18349, 18253
, 18156, 18059, 17963, 17866, 17769, 17672, 17576, 17479, 17382, 17285, 17188, 17091, 16994, 16897, 16800, 16702, 16605, 16508, 16411, 16313
, 16216, 16118, 16021, 15923, 15826, 15728, 15631, 15533, 15435, 15338, 15240, 15142, 15044, 14946, 14849, 14751, 14653, 14555, 14457, 14359
, 14260, 14162, 14064, 13966, 13868, 13769, 13671, 13573, 13474, 13376, 13278, 13179, 13081, 12982, 12884, 12785, 12686, 12588, 12489, 12390
, 12292, 12193, 12094, 11995, 11896, 11797, 11699, 11600, 11501, 11402, 11303, 11204, 11105, 11006, 10906, 10807, 10708, 10609, 10510, 10410
, 10311, 10212, 10113, 10013, 9914, 9814, 9715, 9616, 9516, 9417, 9317, 9218, 9118, 9019, 8919, 8819, 8720, 8620, 8520, 8421
, 8321, 8221, 8122, 8022, 7922, 7822, 7722, 7623, 7523, 7423, 7323, 7223, 7123, 7023, 6923, 6823, 6723, 6623, 6523, 6423
, 6323, 6223, 6123, 6023, 5923, 5823, 5722, 5622, 5522, 5422, 5322, 5222, 5121, 5021, 4921, 4821, 4720, 4620, 4520, 4420
, 4319, 4219, 4119, 4018, 3918, 3818, 3717, 3617, 3516, 3416, 3316, 3215, 3115, 3014, 2914, 2814, 2713, 2613, 2512, 2412
, 2311, 2211, 2110, 2010, 1909, 1809, 1708, 1608, 1507, 1407, 1306, 1206, 1105, 1005, 904, 804, 703, 603, 502, 402
, 301, 201, 100, 0, -100, -201, -301, -402, -502, -603, -703, -804, -904, -1005, -1105, -1206, -1306, -1407, -1507, -1608
, -1708, -1809, -1909, -2010, -2110, -2211, -2311, -2412, -2512, -2613, -2713, -2814, -2914, -3014, -3115, -3215, -3316, -3416, -3516, -3617
, -3717, -3818, -3918, -4018, -4119, -4219, -4319, -4420, -4520, -4620, -4720, -4821, -4921, -5021, -5121, -5222, -5322, -5422, -5522, -5622
, -5722, -5823, -5923, -6023, -6123, -6223, -6323, -6423, -6523, -6623, -6723, -6823, -6923, -7023, -7123, -7223, -7323, -7423, -7523, -7623
, -7722, -7822, -7922, -8022, -8122, -8221, -8321, -8421, -8520, -8620, -8720, -8819, -8919, -9019, -9118, -9218, -9317, -9417, -9516, -9616
, -9715, -9814, -9914, -10013, -10113, -10212, -10311, -10410, -10510, -10609, -10708, -10807, -10906, -11006, -11105, -11204, -11303, -11402, -11501, -11600
, -11699, -11797, -11896, -11995, -12094, -12193, -12292, -12390, -12489, -12588, -12686, -12785, -12884, -12982, -13081, -13179, -13278, -13376, -13474, -13573
, -13671, -13769, -13868, -13966, -14064, -14162, -14260, -14359, -14457, -14555, -14653, -14751, -14849, -14946, -15044, -15142, -15240, -15338, -15435, -15533
, -15631, -15728, -15826, -15923, -16021, -16118, -16216, -16313, -16411, -16508, -16605, -16702, -16800, -16897, -16994, -17091, -17188, -17285, -17382, -17479
, -17576, -17672, -17769, -17866, -17963, -18059, -18156, -18253, -18349, -18446, -18542, -18638, -18735, -18831, -18927, -19024, -19120, -19216, -19312, -19408
, -19504, -19600, -19696, -19792, -19888, -19983, -20079, -20175, -20270, -20366, -20461, -20557, -20652, -20748, -20843, -20938, -21034, -21129, -21224, -21319
, -21414, -21509, -21604, -21699, -21794, -21889, -21983, -22078, -22173, -22267, -22362, -22456, -22551, -22645, -22739, -22833, -22928, -23022, -23116, -23210
, -23304, -23398, -23492, -23586, -23679, -23773, -23867, -23960, -24054, -24147, -24241, -24334, -24427, -24521, -24614, -24707, -24800, -24893, -24986, -25079
, -25172, -25265, -25357, -25450, -25543, -25635, -25728, -25820, -25913, -26005, -26097, -26189, -26281, -26373, -26465, -26557, -26649, -26741, -26833, -26925
, -27016, -27108, -27199, -27291, -27382, -27473, -27565, -27656, -27747, -27838, -27929, -28020, -28111, -28201, -28292, -28383, -28473, -28564, -28654, -28745
, -28835, -28925, -29015, -29105, -29196, -29285, -29375, -29465, -29555, -29645, -29734, -29824, -29913, -30003, -30092, -30181, -30271, -30360, -30449, -30538
, -30627, -30715, -30804, -30893, -30982, -31070, -31159, -31247, -31335, -31424, -31512, -31600, -31688, -31776, -31864, -31952, -32039, -32127, -32215, -32302
, -32390, -32477, -32564, -32651, -32738, -32826, -32912, -32999, -33086, -33173, -33260, -33346, -33433, -33519, -33605, -33692, -33778, -33864, -33950, -34036
, -34122, -34208, -34293, -34379, -34465, -34550, -34635, -34721, -34806, -34891, -34976, -35061, -35146, -35231, -35316, -35400, -35485, -35569, -35654, -35738
, -35822, -35906, -35990, -36074, -36158, -36242, -36326, -36409, -36493, -36576, -36660, -36743, -36826, -36909, -36992, -37075, -37158, -37241, -37324, -37406
, -37489, -37571, -37653, -37736, -37818, -37900, -37982, -38064, -38146, -38227, -38309, -38390, -38472, -38553, -38634, -38716, -38797, -38878, -38958, -39039
, -39120, -39201, -39281, -39362, -39442, -39522, -39602, -39682, -39762, -39842, -39922, -40002, -40081, -40161, -40240, -40319, -40399, -40478, -40557, -40636
, -40714, -40793, -40872, -40950, -41029, -41107, -41185, -41263, -41342, -41419, -41497, -41575, -41653, -41730, -41808, -41885, -41962, -42040, -42117, -42194
, -42271, -42347, -42424, -42501, -42577, -42653, -42730, -42806, -42882, -42958, -43034, -43110, -43185, -43261, -43336, -43412, -43487, -43562, -43637, -43712
, -43787, -43862, -43936, -44011, -44085, -44160, -44234, -44308, -44382, -44456, -44530, -44603, -44677, -44750, -44824, -44897, -44970, -45043, -45116, -45189
, -45262, -45335, -45407, -45480, -45552, -45624, -45696, -45768, -45840, -45912, -45984, -46055, -46127, -46198, -46269, -46340, -46411, -46482, -46553, -46624
, -46695, -46765, -46835, -46906, -46976, -47046, -47116, -47186, -47255, -47325, -47394, -47464, -47533, -47602, -47671, -47740, -47809, -47878, -47946, -48015
, -48083, -48151, -48219, -48288, -48355, -48423, -48491, -48558, -48626, -48693, -48760, -48828, -48895, -48961, -49028, -49095, -49161, -49228, -49294, -49360
, -49426, -49492, -49558, -49624, -49690, -49755, -49820, -49886, -49951, -50016, -50081, -50146, -50210, -50275, -50339, -50403, -50468, -50532, -50596, -50660
, -50723, -50787, -50850, -50914, -50977, -51040, -51103, -51166, -51229, -51291, -51354, -51416, -51478, -51541, -51603, -51665, -51726, -51788, -51850, -51911
, -51972, -52033, -52095, -52155, -52216, -52277, -52338, -52398, -52458, -52518, -52579, -52639, -52698, -52758, -52818, -52877, -52936, -52996, -53055, -53114
, -53172, -53231, -53290, -53348, -53407, -53465, -53523, -53581, -53639, -53696, -53754, -53811, -53869, -53926, -53983, -54040, -54097, -54153, -54210, -54266
, -54323, -54379, -54435, -54491, -54546, -54602, -54658, -54713, -54768, -54823, -54879, -54933, -54988, -55043, -55097, -55152, -55206, -55260, -55314, -55368
, -55422, -55475, -55529, -55582, -55635, -55688, -55741, -55794, -55847, -55899, -55952, -56004, -56056, -56108, -56160, -56212, -56263, -56315, -56366, -56417
, -56468, -56519, -56570, -56621, -56671, -56722, -56772, -56822, -56872, -56922, -56972, -57022, -57071, -57120, -57170, -57219, -57268, -57316, -57365, -57414
, -57462, -57510, -57558, -57606, -57654, -57702, -57750, -57797, -57844, -57892, -57939, -57986, -58032, -58079, -58125, -58172, -58218, -58264, -58310, -58356
, -58402, -58447, -58493, -58538, -58583, -58628, -58673, -58718, -58762, -58807, -58851, -58895, -58939, -58983, -59027, -59070, -59114, -59157, -59200, -59243
, -59286, -59329, -59372, -59414, -59457, -59499, -59541, -59583, -59625, -59666, -59708, -59749, -59790, -59831, -59872, -59913, -59954, -59994, -60035, -60075
, -60115, -60155, -60195, -60235, -60274, -60313, -60353, -60392, -60431, -60470, -60508, -60547, -60585, -60624, -60662, -60700, -60737, -60775, -60813, -60850
, -60887, -60924, -60961, -60998, -61035, -61071, -61108, -61144, -61180, -61216, -61252, -61288, -61323, -61359, -61394, -61429, -61464, -61499, -61533, -61568
, -61602, -61637, -61671, -61705, -61738, -61772, -61805, -61839, -61872, -61905, -61938, -61971, -62003, -62036, -62068, -62100, -62133, -62164, -62196, -62228
, -62259, -62291, -62322, -62353, -62384, -62414, -62445, -62475, -62506, -62536, -62566, -62596, -62625, -62655, -62684, -62714, -62743, -62772, -62800, -62829
, -62858, -62886, -62914, -62942, -62970, -62998, -63026, -63053, -63080, -63108, -63135, -63162, -63188, -63215, -63241, -63268, -63294, -63320, -63346, -63371
, -63397, -63422, -63447, -63473, -63498, -63522, -63547, -63571, -63596, -63620, -63644, -63668, -63692, -63715, -63739, -63762, -63785, -63808, -63831, -63854
, -63876, -63899, -63921, -63943, -63965, -63987, -64009, -64030, -64051, -64073, -64094, -64115, -64135, -64156, -64176, -64197, -64217, -64237, -64257, -64276
, -64296, -64315, -64334, -64353, -64372, -64391, -64410, -64428, -64447, -64465, -64483, -64501, -64518, -64536, -64553, -64571, -64588, -64605, -64622, -64638
, -64655, -64671, -64687, -64703, -64719, -64735, -64751, -64766, -64781, -64796, -64811, -64826, -64841, -64855, -64870, -64884, -64898, -64912, -64926, -64939
, -64953, -64966, -64979, -64992, -65005, -65018, -65030, -65043, -65055, -65067, -65079, -65091, -65102, -65114, -65125, -65136, -65147, -65158, -65169, -65179
, -65190, -65200, -65210, -65220, -65230, -65239, -65249, -65258, -65267, -65276, -65285, -65294, -65302, -65311, -65319, -65327, -65335, -65343, -65350, -65358
, -65365, -65372, -65379, -65386, -65393, -65400, -65406, -65412, -65418, -65424, -65430, -65436, -65441, -65446, -65452, -65457, -65461, -65466, -65471, -65475
, -65479, -65483, -65487, -65491, -65495, -65498, -65501, -65505, -65508, -65511, -65513, -65516, -65518, -65520, -65522, -65524, -65526, -65528, -65529, -65531
, -65532, -65533, -65534, -65534, -65535, -65535, -65535, -65536, -65535, -65535, -65535, -65534, -65534, -65533, -65532, -65531, -65529, -65528, -65526, -65524
, -65522, -65520, -65518, -65516, -65513, -65511, -65508, -65505, -65501, -65498, -65495, -65491, -65487, -65483, -65479, -65475, -65471, -65466, -65461, -65457
, -65452, -65446, -65441, -65436, -65430, -65424, -65418, -65412, -65406, -65400, -65393, -65386, -65379, -65372, -65365, -65358, -65350, -65343, -65335, -65327
, -65319, -65311, -65302, -65294, -65285, -65276, -65267, -65258, -65249, -65239, -65230, -65220, -65210, -65200, -65190, -65179, -65169, -65158, -65147, -65136
, -65125, -65114, -65102, -65091, -65079, -65067, -65055, -65043, -65030, -65018, -65005, -64992, -64979, -64966, -64953, -64939, -64926, -64912, -64898, -64884
, -64870, -64855, -64841, -64826, -64811, -64796, -64781, -64766, -64751, -64735, -64719, -64703, -64687, -64671, -64655, -64638, -64622, -64605, -64588, -64571
, -64553, -64536, -64518, -64501, -64483, -64465, -64447, -64428, -64410, -64391, -64372, -64353, -64334, -64315, -64296, -64276, -64257, -64237, -64217, -64197
, -64176, -64156, -64135, -64115, -64094, -64073, -64051, -64030, -64009, -63987, -63965, -63943, -63921, -63899, -63876, -63854, -63831, -63808, -63785, -63762
, -63739, -63715, -63692, -63668, -63644, -63620, -63596, -63571, -63547, -63522, -63498, -63473, -63447, -63422, -63397, -63371, -63346, -63320, -63294, -63268
, -63241, -63215, -63188, -63162, -63135, -63108, -63080, -63053, -63026, -62998, -62970, -62942, -62914, -62886, -62858, -62829, -62800, -62772, -62743, -62714
, -62684, -62655, -62625, -62596, -62566, -62536, -62506, -62475, -62445, -62414, -62384, -62353, -62322, -62291, -62259, -62228, -62196, -62164, -62133, -62100
, -62068, -62036, -62003, -61971, -61938, -61905, -61872, -61839, -61805, -61772, -61738, -61705, -61671, -61637, -61602, -61568, -61533, -61499, -61464, -61429
, -61394, -61359, -61323, -61288, -61252, -61216, -61180, -61144, -61108, -61071, -61035, -60998, -60961, -60924, -60887, -60850, -60813, -60775, -60737, -60700
, -60662, -60624, -60585, -60547, -60508, -60470, -60431, -60392, -60353, -60313, -60274, -60235, -60195, -60155, -60115, -60075, -60035, -59994, -59954, -59913
, -59872, -59831, -59790, -59749, -59708, -59666, -59625, -59583, -59541, -59499, -59457, -59414, -59372, -59329, -59286, -59243, -59200, -59157, -59114, -59070
, -59027, -58983, -58939, -58895, -58851, -58807, -58762, -58718, -58673, -58628, -58583, -58538, -58493, -58447, -58402, -58356, -58310, -58264, -58218, -58172
, -58125, -58079, -58032, -57986, -57939, -57892, -57844, -57797, -57750, -57702, -57654, -57606, -57558, -57510, -57462, -57414, -57365, -57316, -57268, -57219
, -57170, -57120, -57071, -57022, -56972, -56922, -56872, -56822, -56772, -56722, -56671, -56621, -56570, -56519, -56468, -56417, -56366, -56315, -56263, -56212
, -56160, -56108, -56056, -56004, -55952, -55899, -55847, -55794, -55741, -55688, -55635, -55582, -55529, -55475, -55422, -55368, -55314, -55260, -55206, -55152
, -55097, -55043, -54988, -54933, -54879, -54823, -54768, -54713, -54658, -54602, -54546, -54491, -54435, -54379, -54323, -54266, -54210, -54153, -54097, -54040
, -53983, -53926, -53869, -53811, -53754, -53696, -53639, -53581, -53523, -53465, -53407, -53348, -53290, -53231, -53172, -53114, -53055, -52996, -52936, -52877
, -52818, -52758, -52698, -52639, -52579, -52518, -52458, -52398, -52338, -52277, -52216, -52155, -52095, -52033, -51972, -51911, -51850, -51788, -51726, -51665
, -51603, -51541, -51478, -51416, -51354, -51291, -51229, -51166, -51103, -51040, -50977, -50914, -50850, -50787, -50723, -50660, -50596, -50532, -50468, -50403
, -50339, -50275, -50210, -50146, -50081, -50016, -49951, -49886, -49820, -49755, -49690, -49624, -49558, -49492, -49426, -49360, -49294, -49228, -49161, -49095
, -49028, -48961, -48895, -48828, -48760, -48693, -48626, -48558, -48491, -48423, -48355, -48288, -48219, -48151, -48083, -48015, -47946, -47878, -47809, -47740
, -47671, -47602, -47533, -47464, -47394, -47325, -47255, -47186, -47116, -47046, -46976, -46906, -46835, -46765, -46695, -46624, -46553, -46482, -46411, -46340
, -46269, -46198, -46127, -46055, -45984, -45912, -45840, -45768, -45696, -45624, -45552, -45480, -45407, -45335, -45262, -45189, -45116, -45043, -44970, -44897
, -44824, -44750, -44677, -44603, -44530, -44456, -44382, -44308, -44234, -44160, -44085, -44011, -43936, -43862, -43787, -43712, -43637, -43562, -43487, -43412
, -43336, -43261, -43185, -43110, -43034, -42958, -42882, -42806, -42730, -42653, -42577, -42501, -42424, -42347, -42271, -42194, -42117, -42040, -41962, -41885
, -41808, -41730, -41653, -41575, -41497, -41419, -41342, -41263, -41185, -41107, -41029, -40950, -40872, -40793, -40714, -40636, -40557, -40478, -40399, -40319
, -40240, -40161, -40081, -40002, -39922, -39842, -39762, -39682, -39602, -39522, -39442, -39362, -39281, -39201, -39120, -39039, -38958, -38878, -38797, -38716
, -38634, -38553, -38472, -38390, -38309, -38227, -38146, -38064, -37982, -37900, -37818, -37736, -37653, -37571, -37489, -37406, -37324, -37241, -37158, -37075
, -36992, -36909, -36826, -36743, -36660, -36576, -36493, -36409, -36326, -36242, -36158, -36074, -35990, -35906, -35822, -35738, -35654, -35569, -35485, -35400
, -35316, -35231, -35146, -35061, -34976, -34891, -34806, -34721, -34635, -34550, -34465, -34379, -34293, -34208, -34122, -34036, -33950, -33864, -33778, -33692
, -33605, -33519, -33433, -33346, -33260, -33173, -33086, -32999, -32912, -32826, -32738, -32651, -32564, -32477, -32390, -32302, -32215, -32127, -32039, -31952
, -31864, -31776, -31688, -31600, -31512, -31424, -31335, -31247, -31159, -31070, -30982, -30893, -30804, -30715, -30627, -30538, -30449, -30360, -30271, -30181
, -30092, -30003, -29913, -29824, -29734, -29645, -29555, -29465, -29375, -29285, -29196, -29105, -29015, -28925, -28835, -28745, -28654, -28564, -28473, -28383
, -28292, -28201, -28111, -28020, -27929, -27838, -27747, -27656, -27565, -27473, -27382, -27291, -27199, -27108, -27016, -26925, -26833, -26741, -26649, -26557
, -26465, -26373, -26281, -26189, -26097, -26005, -25913, -25820, -25728, -25635, -25543, -25450, -25357, -25265, -25172, -25079, -24986, -24893, -24800, -24707
, -24614, -24521, -24427, -24334, -24241, -24147, -24054, -23960, -23867, -23773, -23679, -23586, -23492, -23398, -23304, -23210, -23116, -23022, -22928, -22833
, -22739, -22645, -22551, -22456, -22362, -22267, -22173, -22078, -21983, -21889, -21794, -21699, -21604, -21509, -21414, -21319, -21224, -21129, -21034, -20938
, -20843, -20748, -20652, -20557, -20461, -20366, -20270, -20175, -20079, -19983, -19888, -19792, -19696, -19600, -19504, -19408, -19312, -19216, -19120, -19024
, -18927, -18831, -18735, -18638, -18542, -18446, -18349, -18253, -18156, -18059, -17963, -17866, -17769, -17672, -17576, -17479, -17382, -17285, -17188, -17091
, -16994, -16897, -16800, -16702, -16605, -16508, -16411, -16313, -16216, -16118, -16021, -15923, -15826, -15728, -15631, -15533, -15435, -15338, -15240, -15142
, -15044, -14946, -14849, -14751, -14653, -14555, -14457, -14359, -14260, -14162, -14064, -13966, -13868, -13769, -13671, -13573, -13474, -13376, -13278, -13179
, -13081, -12982, -12884, -12785, -12686, -12588, -12489, -12390, -12292, -12193, -12094, -11995, -11896, -11797, -11699, -11600, -11501, -11402, -11303, -11204
, -11105, -11006, -10906, -10807, -10708, -10609, -10510, -10410, -10311, -10212, -10113, -10013, -9914, -9814, -9715, -9616, -9516, -9417, -9317, -9218
, -9118, -9019, -8919, -8819, -8720, -8620, -8520, -8421, -8321, -8221, -8122, -8022, -7922, -7822, -7722, -7623, -7523, -7423, -7323, -7223
, -7123, -7023, -6923, -6823, -6723, -6623, -6523, -6423, -6323, -6223, -6123, -6023, -5923, -5823, -5722, -5622, -5522, -5422, -5322, -5222
, -5121, -5021, -4921, -4821, -4720, -4620, -4520, -4420, -4319, -4219, -4119, -4018, -3918, -3818, -3717, -3617, -3516, -3416, -3316, -3215
, -3115, -3014, -2914, -2814, -2713, -2613, -2512, -2412, -2311, -2211, -2110, -2010, -1909, -1809, -1708, -1608, -1507, -1407, -1306, -1206
, -1105, -1005, -904, -804, -703, -603, -502, -402, -301, -201, -100, 0, 100, 201, 301, 402, 502, 603, 703, 804
, 904, 1005, 1105, 1206, 1306, 1407, 1507, 1608, 1708, 1809, 1909, 2010, 2110, 2211, 2311, 2412, 2512, 2613, 2713, 2814
, 2914, 3014, 3115, 3215, 3316, 3416, 3516, 3617, 3717, 3818, 3918, 4018, 4119, 4219, 4319, 4420, 4520, 4620, 4720, 4821
, 4921, 5021, 5121, 5222, 5322, 5422, 5522, 5622, 5722, 5823, 5923, 6023, 6123, 6223, 6323, 6423, 6523, 6623, 6723, 6823
, 6923, 7023, 7123, 7223, 7323, 7423, 7523, 7623, 7722, 7822, 7922, 8022, 8122, 8221, 8321, 8421, 8520, 8620, 8720, 8819
, 8919, 9019, 9118, 9218, 9317, 9417, 9516, 9616, 9715, 9814, 9914, 10013, 10113, 10212, 10311, 10410, 10510, 10609, 10708, 10807
, 10906, 11006, 11105, 11204, 11303, 11402, 11501, 11600, 11699, 11797, 11896, 11995, 12094, 12193, 12292, 12390, 12489, 12588, 12686, 12785
, 12884, 12982, 13081, 13179, 13278, 13376, 13474, 13573, 13671, 13769, 13868, 13966, 14064, 14162, 14260, 14359, 14457, 14555, 14653, 14751
, 14849, 14946, 15044, 15142, 15240, 15338, 15435, 15533, 15631, 15728, 15826, 15923, 16021, 16118, 16216, 16313, 16411, 16508, 16605, 16702
, 16800, 16897, 16994, 17091, 17188, 17285, 17382, 17479, 17576, 17672, 17769, 17866, 17963, 18059, 18156, 18253, 18349, 18446, 18542, 18638
, 18735, 18831, 18927, 19024, 19120, 19216, 19312, 19408, 19504, 19600, 19696, 19792, 19888, 19983, 20079, 20175, 20270, 20366, 20461, 20557
, 20652, 20748, 20843, 20938, 21034, 21129, 21224, 21319, 21414, 21509, 21604, 21699, 21794, 21889, 21983, 22078, 22173, 22267, 22362, 22456
, 22551, 22645, 22739, 22833, 22928, 23022, 23116, 23210, 23304, 23398, 23492, 23586, 23679, 23773, 23867, 23960, 24054, 24147, 24241, 24334
, 24427, 24521, 24614, 24707, 24800, 24893, 24986, 25079, 25172, 25265, 25357, 25450, 25543, 25635, 25728, 25820, 25913, 26005, 26097, 26189
, 26281, 26373, 26465, 26557, 26649, 26741, 26833, 26925, 27016, 27108, 27199, 27291, 27382, 27473, 27565, 27656, 27747, 27838, 27929, 28020
, 28111, 28201, 28292, 28383, 28473, 28564, 28654, 28745, 28835, 28925, 29015, 29105, 29196, 29285, 29375, 29465, 29555, 29645, 29734, 29824
, 29913, 30003, 30092, 30181, 30271, 30360, 30449, 30538, 30627, 30715, 30804, 30893, 30982, 31070, 31159, 31247, 31335, 31424, 31512, 31600
, 31688, 31776, 31864, 31952, 32039, 32127, 32215, 32302, 32390, 32477, 32564, 32651, 32738, 32826, 32912, 32999, 33086, 33173, 33260, 33346
, 33433, 33519, 33605, 33692, 33778, 33864, 33950, 34036, 34122, 34208, 34293, 34379, 34465, 34550, 34635, 34721, 34806, 34891, 34976, 35061
, 35146, 35231, 35316, 35400, 35485, 35569, 35654, 35738, 35822, 35906, 35990, 36074, 36158, 36242, 36326, 36409, 36493, 36576, 36660, 36743
, 36826, 36909, 36992, 37075, 37158, 37241, 37324, 37406, 37489, 37571, 37653, 37736, 37818, 37900, 37982, 38064, 38146, 38227, 38309, 38390
, 38472, 38553, 38634, 38716, 38797, 38878, 38958, 39039, 39120, 39201, 39281, 39362, 39442, 39522, 39602, 39682, 39762, 39842, 39922, 40002
, 40081, 40161, 40240, 40319, 40399, 40478, 40557, 40636, 40714, 40793, 40872, 40950, 41029, 41107, 41185, 41263, 41342, 41419, 41497, 41575
, 41653, 41730, 41808, 41885, 41962, 42040, 42117, 42194, 42271, 42347, 42424, 42501, 42577, 42653, 42730, 42806, 42882, 42958, 43034, 43110
, 43185, 43261, 43336, 43412, 43487, 43562, 43637, 43712, 43787, 43862, 43936, 44011, 44085, 44160, 44234, 44308, 44382, 44456, 44530, 44603
, 44677, 44750, 44824, 44897, 44970, 45043, 45116, 45189, 45262, 45335, 45407, 45480, 45552, 45624, 45696, 45768, 45840, 45912, 45984, 46055
, 46127, 46198, 46269, 46340, 46411, 46482, 46553, 46624, 46695, 46765, 46835, 46906, 46976, 47046, 47116, 47186, 47255, 47325, 47394, 47464
, 47533, 47602, 47671, 47740, 47809, 47878, 47946, 48015, 48083, 48151, 48219, 48288, 48355, 48423, 48491, 48558, 48626, 48693, 48760, 48828
, 48895, 48961, 49028, 49095, 49161, 49228, 49294, 49360, 49426, 49492, 49558, 49624, 49690, 49755, 49820, 49886, 49951, 50016, 50081, 50146
, 50210, 50275, 50339, 50403, 50468, 50532, 50596, 50660, 50723, 50787, 50850, 50914, 50977, 51040, 51103, 51166, 51229, 51291, 51354, 51416
, 51478, 51541, 51603, 51665, 51726, 51788, 51850, 51911, 51972, 52033, 52095, 52155, 52216, 52277, 52338, 52398, 52458, 52518, 52579, 52639
, 52698, 52758, 52818, 52877, 52936, 52996, 53055, 53114, 53172, 53231, 53290, 53348, 53407, 53465, 53523, 53581, 53639, 53696, 53754, 53811
, 53869, 53926, 53983, 54040, 54097, 54153, 54210, 54266, 54323, 54379, 54435, 54491, 54546, 54602, 54658, 54713, 54768, 54823, 54879, 54933
, 54988, 55043, 55097, 55152, 55206, 55260, 55314, 55368, 55422, 55475, 55529, 55582, 55635, 55688, 55741, 55794, 55847, 55899, 55952, 56004
, 56056, 56108, 56160, 56212, 56263, 56315, 56366, 56417, 56468, 56519, 56570, 56621, 56671, 56722, 56772, 56822, 56872, 56922, 56972, 57022
, 57071, 57120, 57170, 57219, 57268, 57316, 57365, 57414, 57462, 57510, 57558, 57606, 57654, 57702, 57750, 57797, 57844, 57892, 57939, 57986
, 58032, 58079, 58125, 58172, 58218, 58264, 58310, 58356, 58402, 58447, 58493, 58538, 58583, 58628, 58673, 58718, 58762, 58807, 58851, 58895
, 58939, 58983, 59027, 59070, 59114, 59157, 59200, 59243, 59286, 59329, 59372, 59414, 59457, 59499, 59541, 59583, 59625, 59666, 59708, 59749
, 59790, 59831, 59872, 59913, 59954, 59994, 60035, 60075, 60115, 60155, 60195, 60235, 60274, 60313, 60353, 60392, 60431, 60470, 60508, 60547
, 60585, 60624, 60662, 60700, 60737, 60775, 60813, 60850, 60887, 60924, 60961, 60998, 61035, 61071, 61108, 61144, 61180, 61216, 61252, 61288
, 61323, 61359, 61394, 61429, 61464, 61499, 61533, 61568, 61602, 61637, 61671, 61705, 61738, 61772, 61805, 61839, 61872, 61905, 61938, 61971
, 62003, 62036, 62068, 62100, 62133, 62164, 62196, 62228, 62259, 62291, 62322, 62353, 62384, 62414, 62445, 62475, 62506, 62536, 62566, 62596
, 62625, 62655, 62684, 62714, 62743, 62772, 62800, 62829, 62858, 62886, 62914, 62942, 62970, 62998, 63026, 63053, 63080, 63108, 63135, 63162
, 63188, 63215, 63241, 63268, 63294, 63320, 63346, 63371, 63397, 63422, 63447, 63473, 63498, 63522, 63547, 63571, 63596, 63620, 63644, 63668
, 63692, 63715, 63739, 63762, 63785, 63808, 63831, 63854, 63876, 63899, 63921, 63943, 63965, 63987, 64009, 64030, 64051, 64073, 64094, 64115
, 64135, 64156, 64176, 64197, 64217, 64237, 64257, 64276, 64296, 64315, 64334, 64353, 64372, 64391, 64410, 64428, 64447, 64465, 64483, 64501
, 64518, 64536, 64553, 64571, 64588, 64605, 64622, 64638, 64655, 64671, 64687, 64703, 64719, 64735, 64751, 64766, 64781, 64796, 64811, 64826
, 64841, 64855, 64870, 64884, 64898, 64912, 64926, 64939, 64953, 64966, 64979, 64992, 65005, 65018, 65030, 65043, 65055, 65067, 65079, 65091
, 65102, 65114, 65125, 65136, 65147, 65158, 65169, 65179, 65190, 65200, 65210, 65220, 65230, 65239, 65249, 65258, 65267, 65276, 65285, 65294
, 65302, 65311, 65319, 65327, 65335, 65343, 65350, 65358, 65365, 65372, 65379, 65386, 65393, 65400, 65406, 65412, 65418, 65424, 65430, 65436
, 65441, 65446, 65452, 65457, 65461, 65466, 65471, 65475, 65479, 65483, 65487, 65491, 65495, 65498, 65501, 65505, 65508, 65511, 65513, 65516
, 65518, 65520, 65522, 65524, 65526, 65528, 65529, 65531, 65532, 65533, 65534, 65534, 65535, 65535, 65535};

int fixed::sin_table[4096] = {0
, -100, -201, -301, -402, -502, -603, -703, -804, -904, -1005, -1105, -1206, -1306, -1407, -1507, -1608, -1708, -1809, -1909, -2010
, -2110, -2211, -2311, -2412, -2512, -2613, -2713, -2814, -2914, -3014, -3115, -3215, -3316, -3416, -3516, -3617, -3717, -3818, -3918, -4018
, -4119, -4219, -4319, -4420, -4520, -4620, -4720, -4821, -4921, -5021, -5121, -5222, -5322, -5422, -5522, -5622, -5722, -5823, -5923, -6023
, -6123, -6223, -6323, -6423, -6523, -6623, -6723, -6823, -6923, -7023, -7123, -7223, -7323, -7423, -7523, -7623, -7722, -7822, -7922, -8022
, -8122, -8221, -8321, -8421, -8520, -8620, -8720, -8819, -8919, -9019, -9118, -9218, -9317, -9417, -9516, -9616, -9715, -9814, -9914, -10013
, -10113, -10212, -10311, -10410, -10510, -10609, -10708, -10807, -10906, -11006, -11105, -11204, -11303, -11402, -11501, -11600, -11699, -11797, -11896, -11995
, -12094, -12193, -12292, -12390, -12489, -12588, -12686, -12785, -12884, -12982, -13081, -13179, -13278, -13376, -13474, -13573, -13671, -13769, -13868, -13966
, -14064, -14162, -14260, -14359, -14457, -14555, -14653, -14751, -14849, -14946, -15044, -15142, -15240, -15338, -15435, -15533, -15631, -15728, -15826, -15923
, -16021, -16118, -16216, -16313, -16411, -16508, -16605, -16702, -16800, -16897, -16994, -17091, -17188, -17285, -17382, -17479, -17576, -17672, -17769, -17866
, -17963, -18059, -18156, -18253, -18349, -18446, -18542, -18638, -18735, -18831, -18927, -19024, -19120, -19216, -19312, -19408, -19504, -19600, -19696, -19792
, -19888, -19983, -20079, -20175, -20270, -20366, -20461, -20557, -20652, -20748, -20843, -20938, -21034, -21129, -21224, -21319, -21414, -21509, -21604, -21699
, -21794, -21889, -21983, -22078, -22173, -22267, -22362, -22456, -22551, -22645, -22739, -22833, -22928, -23022, -23116, -23210, -23304, -23398, -23492, -23586
, -23679, -23773, -23867, -23960, -24054, -24147, -24241, -24334, -24427, -24521, -24614, -24707, -24800, -24893, -24986, -25079, -25172, -25265, -25357, -25450
, -25543, -25635, -25728, -25820, -25913, -26005, -26097, -26189, -26281, -26373, -26465, -26557, -26649, -26741, -26833, -26925, -27016, -27108, -27199, -27291
, -27382, -27473, -27565, -27656, -27747, -27838, -27929, -28020, -28111, -28201, -28292, -28383, -28473, -28564, -28654, -28745, -28835, -28925, -29015, -29105
, -29196, -29285, -29375, -29465, -29555, -29645, -29734, -29824, -29913, -30003, -30092, -30181, -30271, -30360, -30449, -30538, -30627, -30715, -30804, -30893
, -30982, -31070, -31159, -31247, -31335, -31424, -31512, -31600, -31688, -31776, -31864, -31952, -32039, -32127, -32215, -32302, -32390, -32477, -32564, -32651
, -32738, -32826, -32912, -32999, -33086, -33173, -33260, -33346, -33433, -33519, -33605, -33692, -33778, -33864, -33950, -34036, -34122, -34208, -34293, -34379
, -34465, -34550, -34635, -34721, -34806, -34891, -34976, -35061, -35146, -35231, -35316, -35400, -35485, -35569, -35654, -35738, -35822, -35906, -35990, -36074
, -36158, -36242, -36326, -36409, -36493, -36576, -36660, -36743, -36826, -36909, -36992, -37075, -37158, -37241, -37324, -37406, -37489, -37571, -37653, -37736
, -37818, -37900, -37982, -38064, -38146, -38227, -38309, -38390, -38472, -38553, -38634, -38716, -38797, -38878, -38958, -39039, -39120, -39201, -39281, -39362
, -39442, -39522, -39602, -39682, -39762, -39842, -39922, -40002, -40081, -40161, -40240, -40319, -40399, -40478, -40557, -40636, -40714, -40793, -40872, -40950
, -41029, -41107, -41185, -41263, -41342, -41419, -41497, -41575, -41653, -41730, -41808, -41885, -41962, -42040, -42117, -42194, -42271, -42347, -42424, -42501
, -42577, -42653, -42730, -42806, -42882, -42958, -43034, -43110, -43185, -43261, -43336, -43412, -43487, -43562, -43637, -43712, -43787, -43862, -43936, -44011
, -44085, -44160, -44234, -44308, -44382, -44456, -44530, -44603, -44677, -44750, -44824, -44897, -44970, -45043, -45116, -45189, -45262, -45335, -45407, -45480
, -45552, -45624, -45696, -45768, -45840, -45912, -45984, -46055, -46127, -46198, -46269, -46340, -46411, -46482, -46553, -46624, -46695, -46765, -46835, -46906
, -46976, -47046, -47116, -47186, -47255, -47325, -47394, -47464, -47533, -47602, -47671, -47740, -47809, -47878, -47946, -48015, -48083, -48151, -48219, -48288
, -48355, -48423, -48491, -48558, -48626, -48693, -48760, -48828, -48895, -48961, -49028, -49095, -49161, -49228, -49294, -49360, -49426, -49492, -49558, -49624
, -49690, -49755, -49820, -49886, -49951, -50016, -50081, -50146, -50210, -50275, -50339, -50403, -50468, -50532, -50596, -50660, -50723, -50787, -50850, -50914
, -50977, -51040, -51103, -51166, -51229, -51291, -51354, -51416, -51478, -51541, -51603, -51665, -51726, -51788, -51850, -51911, -51972, -52033, -52095, -52155
, -52216, -52277, -52338, -52398, -52458, -52518, -52579, -52639, -52698, -52758, -52818, -52877, -52936, -52996, -53055, -53114, -53172, -53231, -53290, -53348
, -53407, -53465, -53523, -53581, -53639, -53696, -53754, -53811, -53869, -53926, -53983, -54040, -54097, -54153, -54210, -54266, -54323, -54379, -54435, -54491
, -54546, -54602, -54658, -54713, -54768, -54823, -54879, -54933, -54988, -55043, -55097, -55152, -55206, -55260, -55314, -55368, -55422, -55475, -55529, -55582
, -55635, -55688, -55741, -55794, -55847, -55899, -55952, -56004, -56056, -56108, -56160, -56212, -56263, -56315, -56366, -56417, -56468, -56519, -56570, -56621
, -56671, -56722, -56772, -56822, -56872, -56922, -56972, -57022, -57071, -57120, -57170, -57219, -57268, -57316, -57365, -57414, -57462, -57510, -57558, -57606
, -57654, -57702, -57750, -57797, -57844, -57892, -57939, -57986, -58032, -58079, -58125, -58172, -58218, -58264, -58310, -58356, -58402, -58447, -58493, -58538
, -58583, -58628, -58673, -58718, -58762, -58807, -58851, -58895, -58939, -58983, -59027, -59070, -59114, -59157, -59200, -59243, -59286, -59329, -59372, -59414
, -59457, -59499, -59541, -59583, -59625, -59666, -59708, -59749, -59790, -59831, -59872, -59913, -59954, -59994, -60035, -60075, -60115, -60155, -60195, -60235
, -60274, -60313, -60353, -60392, -60431, -60470, -60508, -60547, -60585, -60624, -60662, -60700, -60737, -60775, -60813, -60850, -60887, -60924, -60961, -60998
, -61035, -61071, -61108, -61144, -61180, -61216, -61252, -61288, -61323, -61359, -61394, -61429, -61464, -61499, -61533, -61568, -61602, -61637, -61671, -61705
, -61738, -61772, -61805, -61839, -61872, -61905, -61938, -61971, -62003, -62036, -62068, -62100, -62133, -62164, -62196, -62228, -62259, -62291, -62322, -62353
, -62384, -62414, -62445, -62475, -62506, -62536, -62566, -62596, -62625, -62655, -62684, -62714, -62743, -62772, -62800, -62829, -62858, -62886, -62914, -62942
, -62970, -62998, -63026, -63053, -63080, -63108, -63135, -63162, -63188, -63215, -63241, -63268, -63294, -63320, -63346, -63371, -63397, -63422, -63447, -63473
, -63498, -63522, -63547, -63571, -63596, -63620, -63644, -63668, -63692, -63715, -63739, -63762, -63785, -63808, -63831, -63854, -63876, -63899, -63921, -63943
, -63965, -63987, -64009, -64030, -64051, -64073, -64094, -64115, -64135, -64156, -64176, -64197, -64217, -64237, -64257, -64276, -64296, -64315, -64334, -64353
, -64372, -64391, -64410, -64428, -64447, -64465, -64483, -64501, -64518, -64536, -64553, -64571, -64588, -64605, -64622, -64638, -64655, -64671, -64687, -64703
, -64719, -64735, -64751, -64766, -64781, -64796, -64811, -64826, -64841, -64855, -64870, -64884, -64898, -64912, -64926, -64939, -64953, -64966, -64979, -64992
, -65005, -65018, -65030, -65043, -65055, -65067, -65079, -65091, -65102, -65114, -65125, -65136, -65147, -65158, -65169, -65179, -65190, -65200, -65210, -65220
, -65230, -65239, -65249, -65258, -65267, -65276, -65285, -65294, -65302, -65311, -65319, -65327, -65335, -65343, -65350, -65358, -65365, -65372, -65379, -65386
, -65393, -65400, -65406, -65412, -65418, -65424, -65430, -65436, -65441, -65446, -65452, -65457, -65461, -65466, -65471, -65475, -65479, -65483, -65487, -65491
, -65495, -65498, -65501, -65505, -65508, -65511, -65513, -65516, -65518, -65520, -65522, -65524, -65526, -65528, -65529, -65531, -65532, -65533, -65534, -65534
, -65535, -65535, -65535, -65536, -65535, -65535, -65535, -65534, -65534, -65533, -65532, -65531, -65529, -65528, -65526, -65524, -65522, -65520, -65518, -65516
, -65513, -65511, -65508, -65505, -65501, -65498, -65495, -65491, -65487, -65483, -65479, -65475, -65471, -65466, -65461, -65457, -65452, -65446, -65441, -65436
, -65430, -65424, -65418, -65412, -65406, -65400, -65393, -65386, -65379, -65372, -65365, -65358, -65350, -65343, -65335, -65327, -65319, -65311, -65302, -65294
, -65285, -65276, -65267, -65258, -65249, -65239, -65230, -65220, -65210, -65200, -65190, -65179, -65169, -65158, -65147, -65136, -65125, -65114, -65102, -65091
, -65079, -65067, -65055, -65043, -65030, -65018, -65005, -64992, -64979, -64966, -64953, -64939, -64926, -64912, -64898, -64884, -64870, -64855, -64841, -64826
, -64811, -64796, -64781, -64766, -64751, -64735, -64719, -64703, -64687, -64671, -64655, -64638, -64622, -64605, -64588, -64571, -64553, -64536, -64518, -64501
, -64483, -64465, -64447, -64428, -64410, -64391, -64372, -64353, -64334, -64315, -64296, -64276, -64257, -64237, -64217, -64197, -64176, -64156, -64135, -64115
, -64094, -64073, -64051, -64030, -64009, -63987, -63965, -63943, -63921, -63899, -63876, -63854, -63831, -63808, -63785, -63762, -63739, -63715, -63692, -63668
, -63644, -63620, -63596, -63571, -63547, -63522, -63498, -63473, -63447, -63422, -63397, -63371, -63346, -63320, -63294, -63268, -63241, -63215, -63188, -63162
, -63135, -63108, -63080, -63053, -63026, -62998, -62970, -62942, -62914, -62886, -62858, -62829, -62800, -62772, -62743, -62714, -62684, -62655, -62625, -62596
, -62566, -62536, -62506, -62475, -62445, -62414, -62384, -62353, -62322, -62291, -62259, -62228, -62196, -62164, -62133, -62100, -62068, -62036, -62003, -61971
, -61938, -61905, -61872, -61839, -61805, -61772, -61738, -61705, -61671, -61637, -61602, -61568, -61533, -61499, -61464, -61429, -61394, -61359, -61323, -61288
, -61252, -61216, -61180, -61144, -61108, -61071, -61035, -60998, -60961, -60924, -60887, -60850, -60813, -60775, -60737, -60700, -60662, -60624, -60585, -60547
, -60508, -60470, -60431, -60392, -60353, -60313, -60274, -60235, -60195, -60155, -60115, -60075, -60035, -59994, -59954, -59913, -59872, -59831, -59790, -59749
, -59708, -59666, -59625, -59583, -59541, -59499, -59457, -59414, -59372, -59329, -59286, -59243, -59200, -59157, -59114, -59070, -59027, -58983, -58939, -58895
, -58851, -58807, -58762, -58718, -58673, -58628, -58583, -58538, -58493, -58447, -58402, -58356, -58310, -58264, -58218, -58172, -58125, -58079, -58032, -57986
, -57939, -57892, -57844, -57797, -57750, -57702, -57654, -57606, -57558, -57510, -57462, -57414, -57365, -57316, -57268, -57219, -57170, -57120, -57071, -57022
, -56972, -56922, -56872, -56822, -56772, -56722, -56671, -56621, -56570, -56519, -56468, -56417, -56366, -56315, -56263, -56212, -56160, -56108, -56056, -56004
, -55952, -55899, -55847, -55794, -55741, -55688, -55635, -55582, -55529, -55475, -55422, -55368, -55314, -55260, -55206, -55152, -55097, -55043, -54988, -54933
, -54879, -54823, -54768, -54713, -54658, -54602, -54546, -54491, -54435, -54379, -54323, -54266, -54210, -54153, -54097, -54040, -53983, -53926, -53869, -53811
, -53754, -53696, -53639, -53581, -53523, -53465, -53407, -53348, -53290, -53231, -53172, -53114, -53055, -52996, -52936, -52877, -52818, -52758, -52698, -52639
, -52579, -52518, -52458, -52398, -52338, -52277, -52216, -52155, -52095, -52033, -51972, -51911, -51850, -51788, -51726, -51665, -51603, -51541, -51478, -51416
, -51354, -51291, -51229, -51166, -51103, -51040, -50977, -50914, -50850, -50787, -50723, -50660, -50596, -50532, -50468, -50403, -50339, -50275, -50210, -50146
, -50081, -50016, -49951, -49886, -49820, -49755, -49690, -49624, -49558, -49492, -49426, -49360, -49294, -49228, -49161, -49095, -49028, -48961, -48895, -48828
, -48760, -48693, -48626, -48558, -48491, -48423, -48355, -48288, -48219, -48151, -48083, -48015, -47946, -47878, -47809, -47740, -47671, -47602, -47533, -47464
, -47394, -47325, -47255, -47186, -47116, -47046, -46976, -46906, -46835, -46765, -46695, -46624, -46553, -46482, -46411, -46340, -46269, -46198, -46127, -46055
, -45984, -45912, -45840, -45768, -45696, -45624, -45552, -45480, -45407, -45335, -45262, -45189, -45116, -45043, -44970, -44897, -44824, -44750, -44677, -44603
, -44530, -44456, -44382, -44308, -44234, -44160, -44085, -44011, -43936, -43862, -43787, -43712, -43637, -43562, -43487, -43412, -43336, -43261, -43185, -43110
, -43034, -42958, -42882, -42806, -42730, -42653, -42577, -42501, -42424, -42347, -42271, -42194, -42117, -42040, -41962, -41885, -41808, -41730, -41653, -41575
, -41497, -41419, -41342, -41263, -41185, -41107, -41029, -40950, -40872, -40793, -40714, -40636, -40557, -40478, -40399, -40319, -40240, -40161, -40081, -40002
, -39922, -39842, -39762, -39682, -39602, -39522, -39442, -39362, -39281, -39201, -39120, -39039, -38958, -38878, -38797, -38716, -38634, -38553, -38472, -38390
, -38309, -38227, -38146, -38064, -37982, -37900, -37818, -37736, -37653, -37571, -37489, -37406, -37324, -37241, -37158, -37075, -36992, -36909, -36826, -36743
, -36660, -36576, -36493, -36409, -36326, -36242, -36158, -36074, -35990, -35906, -35822, -35738, -35654, -35569, -35485, -35400, -35316, -35231, -35146, -35061
, -34976, -34891, -34806, -34721, -34635, -34550, -34465, -34379, -34293, -34208, -34122, -34036, -33950, -33864, -33778, -33692, -33605, -33519, -33433, -33346
, -33260, -33173, -33086, -32999, -32912, -32826, -32738, -32651, -32564, -32477, -32390, -32302, -32215, -32127, -32039, -31952, -31864, -31776, -31688, -31600
, -31512, -31424, -31335, -31247, -31159, -31070, -30982, -30893, -30804, -30715, -30627, -30538, -30449, -30360, -30271, -30181, -30092, -30003, -29913, -29824
, -29734, -29645, -29555, -29465, -29375, -29285, -29196, -29105, -29015, -28925, -28835, -28745, -28654, -28564, -28473, -28383, -28292, -28201, -28111, -28020
, -27929, -27838, -27747, -27656, -27565, -27473, -27382, -27291, -27199, -27108, -27016, -26925, -26833, -26741, -26649, -26557, -26465, -26373, -26281, -26189
, -26097, -26005, -25913, -25820, -25728, -25635, -25543, -25450, -25357, -25265, -25172, -25079, -24986, -24893, -24800, -24707, -24614, -24521, -24427, -24334
, -24241, -24147, -24054, -23960, -23867, -23773, -23679, -23586, -23492, -23398, -23304, -23210, -23116, -23022, -22928, -22833, -22739, -22645, -22551, -22456
, -22362, -22267, -22173, -22078, -21983, -21889, -21794, -21699, -21604, -21509, -21414, -21319, -21224, -21129, -21034, -20938, -20843, -20748, -20652, -20557
, -20461, -20366, -20270, -20175, -20079, -19983, -19888, -19792, -19696, -19600, -19504, -19408, -19312, -19216, -19120, -19024, -18927, -18831, -18735, -18638
, -18542, -18446, -18349, -18253, -18156, -18059, -17963, -17866, -17769, -17672, -17576, -17479, -17382, -17285, -17188, -17091, -16994, -16897, -16800, -16702
, -16605, -16508, -16411, -16313, -16216, -16118, -16021, -15923, -15826, -15728, -15631, -15533, -15435, -15338, -15240, -15142, -15044, -14946, -14849, -14751
, -14653, -14555, -14457, -14359, -14260, -14162, -14064, -13966, -13868, -13769, -13671, -13573, -13474, -13376, -13278, -13179, -13081, -12982, -12884, -12785
, -12686, -12588, -12489, -12390, -12292, -12193, -12094, -11995, -11896, -11797, -11699, -11600, -11501, -11402, -11303, -11204, -11105, -11006, -10906, -10807
, -10708, -10609, -10510, -10410, -10311, -10212, -10113, -10013, -9914, -9814, -9715, -9616, -9516, -9417, -9317, -9218, -9118, -9019, -8919, -8819
, -8720, -8620, -8520, -8421, -8321, -8221, -8122, -8022, -7922, -7822, -7722, -7623, -7523, -7423, -7323, -7223, -7123, -7023, -6923, -6823
, -6723, -6623, -6523, -6423, -6323, -6223, -6123, -6023, -5923, -5823, -5722, -5622, -5522, -5422, -5322, -5222, -5121, -5021, -4921, -4821
, -4720, -4620, -4520, -4420, -4319, -4219, -4119, -4018, -3918, -3818, -3717, -3617, -3516, -3416, -3316, -3215, -3115, -3014, -2914, -2814
, -2713, -2613, -2512, -2412, -2311, -2211, -2110, -2010, -1909, -1809, -1708, -1608, -1507, -1407, -1306, -1206, -1105, -1005, -904, -804
, -703, -603, -502, -402, -301, -201, -100, 0, 100, 201, 301, 402, 502, 603, 703, 804, 904, 1005, 1105, 1206
, 1306, 1407, 1507, 1608, 1708, 1809, 1909, 2010, 2110, 2211, 2311, 2412, 2512, 2613, 2713, 2814, 2914, 3014, 3115, 3215
, 3316, 3416, 3516, 3617, 3717, 3818, 3918, 4018, 4119, 4219, 4319, 4420, 4520, 4620, 4720, 4821, 4921, 5021, 5121, 5222
, 5322, 5422, 5522, 5622, 5722, 5823, 5923, 6023, 6123, 6223, 6323, 6423, 6523, 6623, 6723, 6823, 6923, 7023, 7123, 7223
, 7323, 7423, 7523, 7623, 7722, 7822, 7922, 8022, 8122, 8221, 8321, 8421, 8520, 8620, 8720, 8819, 8919, 9019, 9118, 9218
, 9317, 9417, 9516, 9616, 9715, 9814, 9914, 10013, 10113, 10212, 10311, 10410, 10510, 10609, 10708, 10807, 10906, 11006, 11105, 11204
, 11303, 11402, 11501, 11600, 11699, 11797, 11896, 11995, 12094, 12193, 12292, 12390, 12489, 12588, 12686, 12785, 12884, 12982, 13081, 13179
, 13278, 13376, 13474, 13573, 13671, 13769, 13868, 13966, 14064, 14162, 14260, 14359, 14457, 14555, 14653, 14751, 14849, 14946, 15044, 15142
, 15240, 15338, 15435, 15533, 15631, 15728, 15826, 15923, 16021, 16118, 16216, 16313, 16411, 16508, 16605, 16702, 16800, 16897, 16994, 17091
, 17188, 17285, 17382, 17479, 17576, 17672, 17769, 17866, 17963, 18059, 18156, 18253, 18349, 18446, 18542, 18638, 18735, 18831, 18927, 19024
, 19120, 19216, 19312, 19408, 19504, 19600, 19696, 19792, 19888, 19983, 20079, 20175, 20270, 20366, 20461, 20557, 20652, 20748, 20843, 20938
, 21034, 21129, 21224, 21319, 21414, 21509, 21604, 21699, 21794, 21889, 21983, 22078, 22173, 22267, 22362, 22456, 22551, 22645, 22739, 22833
, 22928, 23022, 23116, 23210, 23304, 23398, 23492, 23586, 23679, 23773, 23867, 23960, 24054, 24147, 24241, 24334, 24427, 24521, 24614, 24707
, 24800, 24893, 24986, 25079, 25172, 25265, 25357, 25450, 25543, 25635, 25728, 25820, 25913, 26005, 26097, 26189, 26281, 26373, 26465, 26557
, 26649, 26741, 26833, 26925, 27016, 27108, 27199, 27291, 27382, 27473, 27565, 27656, 27747, 27838, 27929, 28020, 28111, 28201, 28292, 28383
, 28473, 28564, 28654, 28745, 28835, 28925, 29015, 29105, 29196, 29285, 29375, 29465, 29555, 29645, 29734, 29824, 29913, 30003, 30092, 30181
, 30271, 30360, 30449, 30538, 30627, 30715, 30804, 30893, 30982, 31070, 31159, 31247, 31335, 31424, 31512, 31600, 31688, 31776, 31864, 31952
, 32039, 32127, 32215, 32302, 32390, 32477, 32564, 32651, 32738, 32826, 32912, 32999, 33086, 33173, 33260, 33346, 33433, 33519, 33605, 33692
, 33778, 33864, 33950, 34036, 34122, 34208, 34293, 34379, 34465, 34550, 34635, 34721, 34806, 34891, 34976, 35061, 35146, 35231, 35316, 35400
, 35485, 35569, 35654, 35738, 35822, 35906, 35990, 36074, 36158, 36242, 36326, 36409, 36493, 36576, 36660, 36743, 36826, 36909, 36992, 37075
, 37158, 37241, 37324, 37406, 37489, 37571, 37653, 37736, 37818, 37900, 37982, 38064, 38146, 38227, 38309, 38390, 38472, 38553, 38634, 38716
, 38797, 38878, 38958, 39039, 39120, 39201, 39281, 39362, 39442, 39522, 39602, 39682, 39762, 39842, 39922, 40002, 40081, 40161, 40240, 40319
, 40399, 40478, 40557, 40636, 40714, 40793, 40872, 40950, 41029, 41107, 41185, 41263, 41342, 41419, 41497, 41575, 41653, 41730, 41808, 41885
, 41962, 42040, 42117, 42194, 42271, 42347, 42424, 42501, 42577, 42653, 42730, 42806, 42882, 42958, 43034, 43110, 43185, 43261, 43336, 43412
, 43487, 43562, 43637, 43712, 43787, 43862, 43936, 44011, 44085, 44160, 44234, 44308, 44382, 44456, 44530, 44603, 44677, 44750, 44824, 44897
, 44970, 45043, 45116, 45189, 45262, 45335, 45407, 45480, 45552, 45624, 45696, 45768, 45840, 45912, 45984, 46055, 46127, 46198, 46269, 46340
, 46411, 46482, 46553, 46624, 46695, 46765, 46835, 46906, 46976, 47046, 47116, 47186, 47255, 47325, 47394, 47464, 47533, 47602, 47671, 47740
, 47809, 47878, 47946, 48015, 48083, 48151, 48219, 48288, 48355, 48423, 48491, 48558, 48626, 48693, 48760, 48828, 48895, 48961, 49028, 49095
, 49161, 49228, 49294, 49360, 49426, 49492, 49558, 49624, 49690, 49755, 49820, 49886, 49951, 50016, 50081, 50146, 50210, 50275, 50339, 50403
, 50468, 50532, 50596, 50660, 50723, 50787, 50850, 50914, 50977, 51040, 51103, 51166, 51229, 51291, 51354, 51416, 51478, 51541, 51603, 51665
, 51726, 51788, 51850, 51911, 51972, 52033, 52095, 52155, 52216, 52277, 52338, 52398, 52458, 52518, 52579, 52639, 52698, 52758, 52818, 52877
, 52936, 52996, 53055, 53114, 53172, 53231, 53290, 53348, 53407, 53465, 53523, 53581, 53639, 53696, 53754, 53811, 53869, 53926, 53983, 54040
, 54097, 54153, 54210, 54266, 54323, 54379, 54435, 54491, 54546, 54602, 54658, 54713, 54768, 54823, 54879, 54933, 54988, 55043, 55097, 55152
, 55206, 55260, 55314, 55368, 55422, 55475, 55529, 55582, 55635, 55688, 55741, 55794, 55847, 55899, 55952, 56004, 56056, 56108, 56160, 56212
, 56263, 56315, 56366, 56417, 56468, 56519, 56570, 56621, 56671, 56722, 56772, 56822, 56872, 56922, 56972, 57022, 57071, 57120, 57170, 57219
, 57268, 57316, 57365, 57414, 57462, 57510, 57558, 57606, 57654, 57702, 57750, 57797, 57844, 57892, 57939, 57986, 58032, 58079, 58125, 58172
, 58218, 58264, 58310, 58356, 58402, 58447, 58493, 58538, 58583, 58628, 58673, 58718, 58762, 58807, 58851, 58895, 58939, 58983, 59027, 59070
, 59114, 59157, 59200, 59243, 59286, 59329, 59372, 59414, 59457, 59499, 59541, 59583, 59625, 59666, 59708, 59749, 59790, 59831, 59872, 59913
, 59954, 59994, 60035, 60075, 60115, 60155, 60195, 60235, 60274, 60313, 60353, 60392, 60431, 60470, 60508, 60547, 60585, 60624, 60662, 60700
, 60737, 60775, 60813, 60850, 60887, 60924, 60961, 60998, 61035, 61071, 61108, 61144, 61180, 61216, 61252, 61288, 61323, 61359, 61394, 61429
, 61464, 61499, 61533, 61568, 61602, 61637, 61671, 61705, 61738, 61772, 61805, 61839, 61872, 61905, 61938, 61971, 62003, 62036, 62068, 62100
, 62133, 62164, 62196, 62228, 62259, 62291, 62322, 62353, 62384, 62414, 62445, 62475, 62506, 62536, 62566, 62596, 62625, 62655, 62684, 62714
, 62743, 62772, 62800, 62829, 62858, 62886, 62914, 62942, 62970, 62998, 63026, 63053, 63080, 63108, 63135, 63162, 63188, 63215, 63241, 63268
, 63294, 63320, 63346, 63371, 63397, 63422, 63447, 63473, 63498, 63522, 63547, 63571, 63596, 63620, 63644, 63668, 63692, 63715, 63739, 63762
, 63785, 63808, 63831, 63854, 63876, 63899, 63921, 63943, 63965, 63987, 64009, 64030, 64051, 64073, 64094, 64115, 64135, 64156, 64176, 64197
, 64217, 64237, 64257, 64276, 64296, 64315, 64334, 64353, 64372, 64391, 64410, 64428, 64447, 64465, 64483, 64501, 64518, 64536, 64553, 64571
, 64588, 64605, 64622, 64638, 64655, 64671, 64687, 64703, 64719, 64735, 64751, 64766, 64781, 64796, 64811, 64826, 64841, 64855, 64870, 64884
, 64898, 64912, 64926, 64939, 64953, 64966, 64979, 64992, 65005, 65018, 65030, 65043, 65055, 65067, 65079, 65091, 65102, 65114, 65125, 65136
, 65147, 65158, 65169, 65179, 65190, 65200, 65210, 65220, 65230, 65239, 65249, 65258, 65267, 65276, 65285, 65294, 65302, 65311, 65319, 65327
, 65335, 65343, 65350, 65358, 65365, 65372, 65379, 65386, 65393, 65400, 65406, 65412, 65418, 65424, 65430, 65436, 65441, 65446, 65452, 65457
, 65461, 65466, 65471, 65475, 65479, 65483, 65487, 65491, 65495, 65498, 65501, 65505, 65508, 65511, 65513, 65516, 65518, 65520, 65522, 65524
, 65526, 65528, 65529, 65531, 65532, 65533, 65534, 65534, 65535, 65535, 65535, 65536, 65535, 65535, 65535, 65534, 65534, 65533, 65532, 65531
, 65529, 65528, 65526, 65524, 65522, 65520, 65518, 65516, 65513, 65511, 65508, 65505, 65501, 65498, 65495, 65491, 65487, 65483, 65479, 65475
, 65471, 65466, 65461, 65457, 65452, 65446, 65441, 65436, 65430, 65424, 65418, 65412, 65406, 65400, 65393, 65386, 65379, 65372, 65365, 65358
, 65350, 65343, 65335, 65327, 65319, 65311, 65302, 65294, 65285, 65276, 65267, 65258, 65249, 65239, 65230, 65220, 65210, 65200, 65190, 65179
, 65169, 65158, 65147, 65136, 65125, 65114, 65102, 65091, 65079, 65067, 65055, 65043, 65030, 65018, 65005, 64992, 64979, 64966, 64953, 64939
, 64926, 64912, 64898, 64884, 64870, 64855, 64841, 64826, 64811, 64796, 64781, 64766, 64751, 64735, 64719, 64703, 64687, 64671, 64655, 64638
, 64622, 64605, 64588, 64571, 64553, 64536, 64518, 64501, 64483, 64465, 64447, 64428, 64410, 64391, 64372, 64353, 64334, 64315, 64296, 64276
, 64257, 64237, 64217, 64197, 64176, 64156, 64135, 64115, 64094, 64073, 64051, 64030, 64009, 63987, 63965, 63943, 63921, 63899, 63876, 63854
, 63831, 63808, 63785, 63762, 63739, 63715, 63692, 63668, 63644, 63620, 63596, 63571, 63547, 63522, 63498, 63473, 63447, 63422, 63397, 63371
, 63346, 63320, 63294, 63268, 63241, 63215, 63188, 63162, 63135, 63108, 63080, 63053, 63026, 62998, 62970, 62942, 62914, 62886, 62858, 62829
, 62800, 62772, 62743, 62714, 62684, 62655, 62625, 62596, 62566, 62536, 62506, 62475, 62445, 62414, 62384, 62353, 62322, 62291, 62259, 62228
, 62196, 62164, 62133, 62100, 62068, 62036, 62003, 61971, 61938, 61905, 61872, 61839, 61805, 61772, 61738, 61705, 61671, 61637, 61602, 61568
, 61533, 61499, 61464, 61429, 61394, 61359, 61323, 61288, 61252, 61216, 61180, 61144, 61108, 61071, 61035, 60998, 60961, 60924, 60887, 60850
, 60813, 60775, 60737, 60700, 60662, 60624, 60585, 60547, 60508, 60470, 60431, 60392, 60353, 60313, 60274, 60235, 60195, 60155, 60115, 60075
, 60035, 59994, 59954, 59913, 59872, 59831, 59790, 59749, 59708, 59666, 59625, 59583, 59541, 59499, 59457, 59414, 59372, 59329, 59286, 59243
, 59200, 59157, 59114, 59070, 59027, 58983, 58939, 58895, 58851, 58807, 58762, 58718, 58673, 58628, 58583, 58538, 58493, 58447, 58402, 58356
, 58310, 58264, 58218, 58172, 58125, 58079, 58032, 57986, 57939, 57892, 57844, 57797, 57750, 57702, 57654, 57606, 57558, 57510, 57462, 57414
, 57365, 57316, 57268, 57219, 57170, 57120, 57071, 57022, 56972, 56922, 56872, 56822, 56772, 56722, 56671, 56621, 56570, 56519, 56468, 56417
, 56366, 56315, 56263, 56212, 56160, 56108, 56056, 56004, 55952, 55899, 55847, 55794, 55741, 55688, 55635, 55582, 55529, 55475, 55422, 55368
, 55314, 55260, 55206, 55152, 55097, 55043, 54988, 54933, 54879, 54823, 54768, 54713, 54658, 54602, 54546, 54491, 54435, 54379, 54323, 54266
, 54210, 54153, 54097, 54040, 53983, 53926, 53869, 53811, 53754, 53696, 53639, 53581, 53523, 53465, 53407, 53348, 53290, 53231, 53172, 53114
, 53055, 52996, 52936, 52877, 52818, 52758, 52698, 52639, 52579, 52518, 52458, 52398, 52338, 52277, 52216, 52155, 52095, 52033, 51972, 51911
, 51850, 51788, 51726, 51665, 51603, 51541, 51478, 51416, 51354, 51291, 51229, 51166, 51103, 51040, 50977, 50914, 50850, 50787, 50723, 50660
, 50596, 50532, 50468, 50403, 50339, 50275, 50210, 50146, 50081, 50016, 49951, 49886, 49820, 49755, 49690, 49624, 49558, 49492, 49426, 49360
, 49294, 49228, 49161, 49095, 49028, 48961, 48895, 48828, 48760, 48693, 48626, 48558, 48491, 48423, 48355, 48288, 48219, 48151, 48083, 48015
, 47946, 47878, 47809, 47740, 47671, 47602, 47533, 47464, 47394, 47325, 47255, 47186, 47116, 47046, 46976, 46906, 46835, 46765, 46695, 46624
, 46553, 46482, 46411, 46340, 46269, 46198, 46127, 46055, 45984, 45912, 45840, 45768, 45696, 45624, 45552, 45480, 45407, 45335, 45262, 45189
, 45116, 45043, 44970, 44897, 44824, 44750, 44677, 44603, 44530, 44456, 44382, 44308, 44234, 44160, 44085, 44011, 43936, 43862, 43787, 43712
, 43637, 43562, 43487, 43412, 43336, 43261, 43185, 43110, 43034, 42958, 42882, 42806, 42730, 42653, 42577, 42501, 42424, 42347, 42271, 42194
, 42117, 42040, 41962, 41885, 41808, 41730, 41653, 41575, 41497, 41419, 41342, 41263, 41185, 41107, 41029, 40950, 40872, 40793, 40714, 40636
, 40557, 40478, 40399, 40319, 40240, 40161, 40081, 40002, 39922, 39842, 39762, 39682, 39602, 39522, 39442, 39362, 39281, 39201, 39120, 39039
, 38958, 38878, 38797, 38716, 38634, 38553, 38472, 38390, 38309, 38227, 38146, 38064, 37982, 37900, 37818, 37736, 37653, 37571, 37489, 37406
, 37324, 37241, 37158, 37075, 36992, 36909, 36826, 36743, 36660, 36576, 36493, 36409, 36326, 36242, 36158, 36074, 35990, 35906, 35822, 35738
, 35654, 35569, 35485, 35400, 35316, 35231, 35146, 35061, 34976, 34891, 34806, 34721, 34635, 34550, 34465, 34379, 34293, 34208, 34122, 34036
, 33950, 33864, 33778, 33692, 33605, 33519, 33433, 33346, 33260, 33173, 33086, 32999, 32912, 32826, 32738, 32651, 32564, 32477, 32390, 32302
, 32215, 32127, 32039, 31952, 31864, 31776, 31688, 31600, 31512, 31424, 31335, 31247, 31159, 31070, 30982, 30893, 30804, 30715, 30627, 30538
, 30449, 30360, 30271, 30181, 30092, 30003, 29913, 29824, 29734, 29645, 29555, 29465, 29375, 29285, 29196, 29105, 29015, 28925, 28835, 28745
, 28654, 28564, 28473, 28383, 28292, 28201, 28111, 28020, 27929, 27838, 27747, 27656, 27565, 27473, 27382, 27291, 27199, 27108, 27016, 26925
, 26833, 26741, 26649, 26557, 26465, 26373, 26281, 26189, 26097, 26005, 25913, 25820, 25728, 25635, 25543, 25450, 25357, 25265, 25172, 25079
, 24986, 24893, 24800, 24707, 24614, 24521, 24427, 24334, 24241, 24147, 24054, 23960, 23867, 23773, 23679, 23586, 23492, 23398, 23304, 23210
, 23116, 23022, 22928, 22833, 22739, 22645, 22551, 22456, 22362, 22267, 22173, 22078, 21983, 21889, 21794, 21699, 21604, 21509, 21414, 21319
, 21224, 21129, 21034, 20938, 20843, 20748, 20652, 20557, 20461, 20366, 20270, 20175, 20079, 19983, 19888, 19792, 19696, 19600, 19504, 19408
, 19312, 19216, 19120, 19024, 18927, 18831, 18735, 18638, 18542, 18446, 18349, 18253, 18156, 18059, 17963, 17866, 17769, 17672, 17576, 17479
, 17382, 17285, 17188, 17091, 16994, 16897, 16800, 16702, 16605, 16508, 16411, 16313, 16216, 16118, 16021, 15923, 15826, 15728, 15631, 15533
, 15435, 15338, 15240, 15142, 15044, 14946, 14849, 14751, 14653, 14555, 14457, 14359, 14260, 14162, 14064, 13966, 13868, 13769, 13671, 13573
, 13474, 13376, 13278, 13179, 13081, 12982, 12884, 12785, 12686, 12588, 12489, 12390, 12292, 12193, 12094, 11995, 11896, 11797, 11699, 11600
, 11501, 11402, 11303, 11204, 11105, 11006, 10906, 10807, 10708, 10609, 10510, 10410, 10311, 10212, 10113, 10013, 9914, 9814, 9715, 9616
, 9516, 9417, 9317, 9218, 9118, 9019, 8919, 8819, 8720, 8620, 8520, 8421, 8321, 8221, 8122, 8022, 7922, 7822, 7722, 7623
, 7523, 7423, 7323, 7223, 7123, 7023, 6923, 6823, 6723, 6623, 6523, 6423, 6323, 6223, 6123, 6023, 5923, 5823, 5722, 5622
, 5522, 5422, 5322, 5222, 5121, 5021, 4921, 4821, 4720, 4620, 4520, 4420, 4319, 4219, 4119, 4018, 3918, 3818, 3717, 3617
, 3516, 3416, 3316, 3215, 3115, 3014, 2914, 2814, 2713, 2613, 2512, 2412, 2311, 2211, 2110, 2010, 1909, 1809, 1708, 1608
, 1507, 1407, 1306, 1206, 1105, 1005, 904, 804, 703, 603, 502, 402, 301, 201, 100};

int fixed::angle_table[4097] = {0
, 651, 1303, 1955, 2607, 3259, 3911, 4563, 5215, 5867, 6518, 7170, 7822, 8474, 9126, 9778, 10430, 11082, 11734, 12385, 13037
, 13689, 14341, 14993, 15645, 16297, 16949, 17601, 18252, 18904, 19556, 20208, 20860, 21512, 22164, 22815, 23467, 24119, 24771, 25423, 26075
, 26726, 27378, 28030, 28682, 29334, 29986, 30637, 31289, 31941, 32593, 33245, 33896, 34548, 35200, 35852, 36504, 37155, 37807, 38459, 39111
, 39762, 40414, 41066, 41718, 42369, 43021, 43673, 44325, 44976, 45628, 46280, 46931, 47583, 48235, 48886, 49538, 50190, 50841, 51493, 52145
, 52796, 53448, 54100, 54751, 55403, 56055, 56706, 57358, 58009, 58661, 59313, 59964, 60616, 61267, 61919, 62570, 63222, 63873, 64525, 65176
, 65828, 66479, 67131, 67782, 68434, 69085, 69737, 70388, 71040, 71691, 72343, 72994, 73645, 74297, 74948, 75600, 76251, 76902, 77554, 78205
, 78856, 79508, 80159, 80810, 81462, 82113, 82764, 83415, 84067, 84718, 85369, 86020, 86672, 87323, 87974, 88625, 89276, 89927, 90579, 91230
, 91881, 92532, 93183, 93834, 94485, 95136, 95787, 96439, 97090, 97741, 98392, 99043, 99694, 100345, 100996, 101647, 102298, 102948, 103599, 104250
, 104901, 105552, 106203, 106854, 107505, 108155, 108806, 109457, 110108, 110759, 111409, 112060, 112711, 113362, 114012, 114663, 115314, 115964, 116615, 117266
, 117916, 118567, 119218, 119868, 120519, 121169, 121820, 122470, 123121, 123772, 124422, 125072, 125723, 126373, 127024, 127674, 128325, 128975, 129625, 130276
, 130926, 131576, 132227, 132877, 133527, 134178, 134828, 135478, 136128, 136778, 137429, 138079, 138729, 139379, 140029, 140679, 141329, 141979, 142629, 143280
, 143930, 144580, 145230, 145879, 146529, 147179, 147829, 148479, 149129, 149779, 150429, 151079, 151728, 152378, 153028, 153678, 154327, 154977, 155627, 156276
, 156926, 157576, 158225, 158875, 159525, 160174, 160824, 161473, 162123, 162772, 163422, 164071, 164721, 165370, 166019, 166669, 167318, 167967, 168617, 169266
, 169915, 170565, 171214, 171863, 172512, 173161, 173811, 174460, 175109, 175758, 176407, 177056, 177705, 178354, 179003, 179652, 180301, 180950, 181599, 182248
, 182896, 183545, 184194, 184843, 185492, 186140, 186789, 187438, 188087, 188735, 189384, 190032, 190681, 191330, 191978, 192627, 193275, 193924, 194572, 195221
, 195869, 196517, 197166, 197814, 198462, 199111, 199759, 200407, 201055, 201704, 202352, 203000, 203648, 204296, 204944, 205592, 206240, 206888, 207536, 208184
, 208832, 209480, 210128, 210776, 211424, 212071, 212719, 213367, 214015, 214662, 215310, 215958, 216605, 217253, 217901, 218548, 219196, 219843, 220491, 221138
, 221785, 222433, 223080, 223728, 224375, 225022, 225669, 226317, 226964, 227611, 228258, 228905, 229553, 230200, 230847, 231494, 232141, 232788, 233435, 234082
, 234728, 235375, 236022, 236669, 237316, 237962, 238609, 239256, 239902, 240549, 241196, 241842, 242489, 243135, 243782, 244428, 245075, 245721, 246368, 247014
, 247660, 248307, 248953, 249599, 250245, 250891, 251538, 252184, 252830, 253476, 254122, 254768, 255414, 256060, 256706, 257352, 257997, 258643, 259289, 259935
, 260580, 261226, 261872, 262517, 263163, 263809, 264454, 265100, 265745, 266391, 267036, 267681, 268327, 268972, 269617, 270263, 270908, 271553, 272198, 272843
, 273488, 274134, 274779, 275424, 276069, 276713, 277358, 278003, 278648, 279293, 279938, 280582, 281227, 281872, 282516, 283161, 283806, 284450, 285095, 285739
, 286384, 287028, 287672, 288317, 288961, 289605, 290250, 290894, 291538, 292182, 292826, 293470, 294114, 294758, 295402, 296046, 296690, 297334, 297978, 298622
, 299265, 299909, 300553, 301196, 301840, 302484, 303127, 303771, 304414, 305058, 305701, 306344, 306988, 307631, 308274, 308918, 309561, 310204, 310847, 311490
, 312133, 312776, 313419, 314062, 314705, 315348, 315991, 316634, 317276, 317919, 318562, 319204, 319847, 320489, 321132, 321775, 322417, 323059, 323702, 324344
, 324986, 325629, 326271, 326913, 327555, 328197, 328840, 329482, 330124, 330766, 331407, 332049, 332691, 333333, 333975, 334616, 335258, 335900, 336541, 337183
, 337825, 338466, 339108, 339749, 340390, 341032, 341673, 342314, 342955, 343597, 344238, 344879, 345520, 346161, 346802, 347443, 348084, 348725, 349366, 350006
, 350647, 351288, 351928, 352569, 353210, 353850, 354491, 355131, 355771, 356412, 357052, 357692, 358333, 358973, 359613, 360253, 360893, 361533, 362173, 362813
, 363453, 364093, 364733, 365373, 366012, 366652, 367292, 367931, 368571, 369211, 369850, 370490, 371129, 371768, 372408, 373047, 373686, 374325, 374964, 375604
, 376243, 376882, 377521, 378160, 378798, 379437, 380076, 380715, 381354, 381992, 382631, 383269, 383908, 384546, 385185, 385823, 386462, 387100, 387738, 388377
, 389015, 389653, 390291, 390929, 391567, 392205, 392843, 393481, 394119, 394756, 395394, 396032, 396669, 397307, 397945, 398582, 399219, 399857, 400494, 401132
, 401769, 402406, 403043, 403680, 404317, 404955, 405592, 406228, 406865, 407502, 408139, 408776, 409413, 410049, 410686, 411322, 411959, 412595, 413232, 413868
, 414505, 415141, 415777, 416413, 417049, 417686, 418322, 418958, 419594, 420229, 420865, 421501, 422137, 422773, 423408, 424044, 424679, 425315, 425950, 426586
, 427221, 427857, 428492, 429127, 429762, 430397, 431033, 431668, 432303, 432937, 433572, 434207, 434842, 435477, 436111, 436746, 437381, 438015, 438650, 439284
, 439918, 440553, 441187, 441821, 442456, 443090, 443724, 444358, 444992, 445626, 446260, 446893, 447527, 448161, 448795, 449428, 450062, 450695, 451329, 451962
, 452596, 453229, 453862, 454495, 455129, 455762, 456395, 457028, 457661, 458294, 458927, 459559, 460192, 460825, 461457, 462090, 462723, 463355, 463988, 464620
, 465252, 465885, 466517, 467149, 467781, 468413, 469045, 469677, 470309, 470941, 471573, 472204, 472836, 473468, 474099, 474731, 475362, 475994, 476625, 477256
, 477888, 478519, 479150, 479781, 480412, 481043, 481674, 482305, 482936, 483567, 484197, 484828, 485459, 486089, 486720, 487350, 487981, 488611, 489241, 489871
, 490502, 491132, 491762, 492392, 493022, 493652, 494282, 494911, 495541, 496171, 496800, 497430, 498059, 498689, 499318, 499948, 500577, 501206, 501835, 502464
, 503093, 503722, 504351, 504980, 505609, 506238, 506867, 507495, 508124, 508752, 509381, 510009, 510638, 511266, 511894, 512522, 513151, 513779, 514407, 515035
, 515663, 516291, 516918, 517546, 518174, 518801, 519429, 520056, 520684, 521311, 521939, 522566, 523193, 523820, 524447, 525074, 525701, 526328, 526955, 527582
, 528209, 528835, 529462, 530089, 530715, 531342, 531968, 532594, 533221, 533847, 534473, 535099, 535725, 536351, 536977, 537603, 538229, 538854, 539480, 540106
, 540731, 541357, 541982, 542608, 543233, 543858, 544483, 545108, 545734, 546359, 546984, 547608, 548233, 548858, 549483, 550107, 550732, 551356, 551981, 552605
, 553230, 553854, 554478, 555102, 555726, 556351, 556974, 557598, 558222, 558846, 559470, 560093, 560717, 561341, 561964, 562587, 563211, 563834, 564457, 565081
, 565704, 566327, 566950, 567573, 568195, 568818, 569441, 570064, 570686, 571309, 571931, 572554, 573176, 573798, 574420, 575043, 575665, 576287, 576909, 577531
, 578152, 578774, 579396, 580018, 580639, 581261, 581882, 582504, 583125, 583746, 584367, 584989, 585610, 586231, 586852, 587472, 588093, 588714, 589335, 589955
, 590576, 591196, 591817, 592437, 593057, 593678, 594298, 594918, 595538, 596158, 596778, 597398, 598018, 598637, 599257, 599876, 600496, 601115, 601735, 602354
, 602973, 603593, 604212, 604831, 605450, 606069, 606687, 607306, 607925, 608544, 609162, 609781, 610399, 611018, 611636, 612254, 612872, 613490, 614109, 614727
, 615344, 615962, 616580, 617198, 617815, 618433, 619051, 619668, 620285, 620903, 621520, 622137, 622754, 623371, 623988, 624605, 625222, 625839, 626455, 627072
, 627689, 628305, 628922, 629538, 630154, 630770, 631387, 632003, 632619, 633235, 633851, 634466, 635082, 635698, 636313, 636929, 637544, 638160, 638775, 639390
, 640006, 640621, 641236, 641851, 642466, 643081, 643695, 644310, 644925, 645539, 646154, 646768, 647383, 647997, 648611, 649225, 649839, 650453, 651067, 651681
, 652295, 652909, 653522, 654136, 654749, 655363, 655976, 656589, 657203, 657816, 658429, 659042, 659655, 660268, 660881, 661493, 662106, 662719, 663331, 663944
, 664556, 665168, 665781, 666393, 667005, 667617, 668229, 668841, 669452, 670064, 670676, 671287, 671899, 672510, 673122, 673733, 674344, 674956, 675567, 676178
, 676789, 677399, 678010, 678621, 679232, 679842, 680453, 681063, 681674, 682284, 682894, 683504, 684114, 684724, 685334, 685944, 686554, 687164, 687773, 688383
, 688992, 689602, 690211, 690820, 691429, 692039, 692648, 693257, 693865, 694474, 695083, 695692, 696300, 696909, 697517, 698126, 698734, 699342, 699950, 700558
, 701166, 701774, 702382, 702990, 703598, 704205, 704813, 705420, 706028, 706635, 707242, 707850, 708457, 709064, 709671, 710278, 710884, 711491, 712098, 712704
, 713311, 713917, 714524, 715130, 715736, 716342, 716948, 717554, 718160, 718766, 719372, 719978, 720583, 721189, 721794, 722399, 723005, 723610, 724215, 724820
, 725425, 726030, 726635, 727240, 727844, 728449, 729054, 729658, 730262, 730867, 731471, 732075, 732679, 733283, 733887, 734491, 735095, 735698, 736302, 736906
, 737509, 738112, 738716, 739319, 739922, 740525, 741128, 741731, 742334, 742937, 743539, 744142, 744744, 745347, 745949, 746552, 747154, 747756, 748358, 748960
, 749562, 750164, 750765, 751367, 751969, 752570, 753172, 753773, 754374, 754975, 755577, 756178, 756779, 757379, 757980, 758581, 759182, 759782, 760383, 760983
, 761583, 762184, 762784, 763384, 763984, 764584, 765184, 765783, 766383, 766983, 767582, 768182, 768781, 769380, 769980, 770579, 771178, 771777, 772376, 772975
, 773573, 774172, 774771, 775369, 775967, 776566, 777164, 777762, 778360, 778958, 779556, 780154, 780752, 781350, 781947, 782545, 783142, 783740, 784337, 784934
, 785531, 786128, 786725, 787322, 787919, 788516, 789112, 789709, 790305, 790902, 791498, 792094, 792690, 793286, 793882, 794478, 795074, 795670, 796266, 796861
, 797457, 798052, 798647, 799243, 799838, 800433, 801028, 801623, 802218, 802813, 803407, 804002, 804596, 805191, 805785, 806379, 806974, 807568, 808162, 808756
, 809350, 809943, 810537, 811131, 811724, 812318, 812911, 813504, 814097, 814691, 815284, 815877, 816469, 817062, 817655, 818247, 818840, 819432, 820025, 820617
, 821209, 821801, 822393, 822985, 823577, 824169, 824761, 825352, 825944, 826535, 827127, 827718, 828309, 828900, 829491, 830082, 830673, 831264, 831855, 832445
, 833036, 833626, 834217, 834807, 835397, 835987, 836577, 837167, 837757, 838347, 838936, 839526, 840115, 840705, 841294, 841883, 842473, 843062, 843651, 844240
, 844828, 845417, 846006, 846594, 847183, 847771, 848360, 848948, 849536, 850124, 850712, 851300, 851888, 852476, 853063, 853651, 854238, 854826, 855413, 856000
, 856587, 857174, 857761, 858348, 858935, 859522, 860108, 860695, 861281, 861867, 862454, 863040, 863626, 864212, 864798, 865384, 865969, 866555, 867141, 867726
, 868312, 868897, 869482, 870067, 870652, 871237, 871822, 872407, 872992, 873576, 874161, 874745, 875330, 875914, 876498, 877082, 877666, 878250, 878834, 879418
, 880001, 880585, 881168, 881752, 882335, 882918, 883502, 884085, 884668, 885250, 885833, 886416, 886999, 887581, 888163, 888746, 889328, 889910, 890492, 891074
, 891656, 892238, 892820, 893401, 893983, 894565, 895146, 895727, 896308, 896890, 897471, 898051, 898632, 899213, 899794, 900374, 900955, 901535, 902116, 902696
, 903276, 903856, 904436, 905016, 905596, 906175, 906755, 907335, 907914, 908493, 909073, 909652, 910231, 910810, 911389, 911967, 912546, 913125, 913703, 914282
, 914860, 915438, 916017, 916595, 917173, 917751, 918329, 918906, 919484, 920061, 920639, 921216, 921794, 922371, 922948, 923525, 924102, 924679, 925255, 925832
, 926409, 926985, 927562, 928138, 928714, 929290, 929866, 930442, 931018, 931594, 932169, 932745, 933321, 933896, 934471, 935046, 935622, 936197, 936772, 937346
, 937921, 938496, 939070, 939645, 940219, 940794, 941368, 941942, 942516, 943090, 943664, 944238, 944811, 945385, 945958, 946532, 947105, 947678, 948251, 948824
, 949397, 949970, 950543, 951116, 951688, 952261, 952833, 953405, 953978, 954550, 955122, 955694, 956266, 956837, 957409, 957981, 958552, 959124, 959695, 960266
, 960837, 961408, 961979, 962550, 963121, 963691, 964262, 964832, 965403, 965973, 966543, 967113, 967683, 968253, 968823, 969393, 969962, 970532, 971101, 971671
, 972240, 972809, 973378, 973947, 974516, 975085, 975654, 976222, 976791, 977359, 977928, 978496, 979064, 979632, 980200, 980768, 981336, 981904, 982471, 983039
, 983606, 984173, 984741, 985308, 985875, 986442, 987009, 987575, 988142, 988709, 989275, 989841, 990408, 990974, 991540, 992106, 992672, 993238, 993804, 994369
, 994935, 995500, 996066, 996631, 997196, 997761, 998326, 998891, 999456, 1000020, 1000585, 1001150, 1001714, 1002278, 1002843, 1003407, 1003971, 1004535, 1005099, 1005662
, 1006226, 1006790, 1007353, 1007916, 1008480, 1009043, 1009606, 1010169, 1010732, 1011295, 1011858, 1012420, 1012983, 1013545, 1014108, 1014670, 1015232, 1015794, 1016356, 1016918
, 1017480, 1018041, 1018603, 1019164, 1019726, 1020287, 1020848, 1021409, 1021971, 1022531, 1023092, 1023653, 1024214, 1024774, 1025335, 1025895, 1026455, 1027015, 1027576, 1028136
, 1028695, 1029255, 1029815, 1030374, 1030934, 1031493, 1032053, 1032612, 1033171, 1033730, 1034289, 1034848, 1035407, 1035965, 1036524, 1037082, 1037641, 1038199, 1038757, 1039315
, 1039873, 1040431, 1040989, 1041546, 1042104, 1042661, 1043219, 1043776, 1044333, 1044891, 1045448, 1046004, 1046561, 1047118, 1047675, 1048231, 1048788, 1049344, 1049900, 1050456
, 1051012, 1051568, 1052124, 1052680, 1053236, 1053791, 1054347, 1054902, 1055457, 1056013, 1056568, 1057123, 1057678, 1058232, 1058787, 1059342, 1059896, 1060451, 1061005, 1061559
, 1062113, 1062667, 1063221, 1063775, 1064329, 1064883, 1065436, 1065990, 1066543, 1067096, 1067649, 1068202, 1068755, 1069308, 1069861, 1070414, 1070966, 1071519, 1072071, 1072623
, 1073176, 1073728, 1074280, 1074832, 1075383, 1075935, 1076487, 1077038, 1077590, 1078141, 1078692, 1079243, 1079794, 1080345, 1080896, 1081447, 1081998, 1082548, 1083098, 1083649
, 1084199, 1084749, 1085299, 1085849, 1086399, 1086949, 1087499, 1088048, 1088598, 1089147, 1089696, 1090245, 1090794, 1091343, 1091892, 1092441, 1092990, 1093538, 1094087, 1094635
, 1095184, 1095732, 1096280, 1096828, 1097376, 1097924, 1098471, 1099019, 1099566, 1100114, 1100661, 1101208, 1101755, 1102302, 1102849, 1103396, 1103943, 1104490, 1105036, 1105583
, 1106129, 1106675, 1107221, 1107767, 1108313, 1108859, 1109405, 1109950, 1110496, 1111041, 1111587, 1112132, 1112677, 1113222, 1113767, 1114312, 1114857, 1115401, 1115946, 1116490
, 1117035, 1117579, 1118123, 1118667, 1119211, 1119755, 1120299, 1120843, 1121386, 1121930, 1122473, 1123016, 1123559, 1124103, 1124646, 1125188, 1125731, 1126274, 1126816, 1127359
, 1127901, 1128444, 1128986, 1129528, 1130070, 1130612, 1131154, 1131695, 1132237, 1132778, 1133320, 1133861, 1134402, 1134943, 1135484, 1136025, 1136566, 1137107, 1137647, 1138188
, 1138728, 1139269, 1139809, 1140349, 1140889, 1141429, 1141969, 1142508, 1143048, 1143587, 1144127, 1144666, 1145205, 1145744, 1146283, 1146822, 1147361, 1147900, 1148439, 1148977
, 1149515, 1150054, 1150592, 1151130, 1151668, 1152206, 1152744, 1153282, 1153819, 1154357, 1154894, 1155431, 1155969, 1156506, 1157043, 1157580, 1158116, 1158653, 1159190, 1159726
, 1160263, 1160799, 1161335, 1161871, 1162407, 1162943, 1163479, 1164015, 1164550, 1165086, 1165621, 1166157, 1166692, 1167227, 1167762, 1168297, 1168832, 1169367, 1169901, 1170436
, 1170970, 1171504, 1172039, 1172573, 1173107, 1173641, 1174174, 1174708, 1175242, 1175775, 1176309, 1176842, 1177375, 1177908, 1178441, 1178974, 1179507, 1180040, 1180572, 1181105
, 1181637, 1182170, 1182702, 1183234, 1183766, 1184298, 1184830, 1185361, 1185893, 1186424, 1186956, 1187487, 1188018, 1188549, 1189080, 1189611, 1190142, 1190673, 1191203, 1191734
, 1192264, 1192794, 1193325, 1193855, 1194385, 1194915, 1195444, 1195974, 1196504, 1197033, 1197563, 1198092, 1198621, 1199150, 1199679, 1200208, 1200737, 1201265, 1201794, 1202322
, 1202851, 1203379, 1203907, 1204435, 1204963, 1205491, 1206019, 1206547, 1207074, 1207602, 1208129, 1208656, 1209183, 1209710, 1210237, 1210764, 1211291, 1211818, 1212344, 1212871
, 1213397, 1213923, 1214449, 1214975, 1215501, 1216027, 1216553, 1217078, 1217604, 1218129, 1218655, 1219180, 1219705, 1220230, 1220755, 1221280, 1221805, 1222329, 1222854, 1223378
, 1223903, 1224427, 1224951, 1225475, 1225999, 1226523, 1227046, 1227570, 1228093, 1228617, 1229140, 1229663, 1230186, 1230709, 1231232, 1231755, 1232278, 1232800, 1233323, 1233845
, 1234367, 1234890, 1235412, 1235934, 1236456, 1236977, 1237499, 1238021, 1238542, 1239063, 1239585, 1240106, 1240627, 1241148, 1241669, 1242190, 1242710, 1243231, 1243751, 1244272
, 1244792, 1245312, 1245832, 1246352, 1246872, 1247391, 1247911, 1248431, 1248950, 1249469, 1249989, 1250508, 1251027, 1251546, 1252064, 1252583, 1253102, 1253620, 1254139, 1254657
, 1255175, 1255693, 1256211, 1256729, 1257247, 1257765, 1258282, 1258800, 1259317, 1259834, 1260352, 1260869, 1261386, 1261903, 1262419, 1262936, 1263453, 1263969, 1264485, 1265002
, 1265518, 1266034, 1266550, 1267066, 1267581, 1268097, 1268613, 1269128, 1269643, 1270159, 1270674, 1271189, 1271704, 1272219, 1272733, 1273248, 1273762, 1274277, 1274791, 1275305
, 1275819, 1276333, 1276847, 1277361, 1277875, 1278389, 1278902, 1279415, 1279929, 1280442, 1280955, 1281468, 1281981, 1282494, 1283006, 1283519, 1284031, 1284544, 1285056, 1285568
, 1286080, 1286592, 1287104, 1287616, 1288127, 1288639, 1289150, 1289662, 1290173, 1290684, 1291195, 1291706, 1292217, 1292728, 1293238, 1293749, 1294259, 1294769, 1295280, 1295790
, 1296300, 1296810, 1297319, 1297829, 1298339, 1298848, 1299358, 1299867, 1300376, 1300885, 1301394, 1301903, 1302412, 1302920, 1303429, 1303938, 1304446, 1304954, 1305462, 1305970
, 1306478, 1306986, 1307494, 1308002, 1308509, 1309016, 1309524, 1310031, 1310538, 1311045, 1311552, 1312059, 1312566, 1313072, 1313579, 1314085, 1314591, 1315098, 1315604, 1316110
, 1316616, 1317121, 1317627, 1318133, 1318638, 1319144, 1319649, 1320154, 1320659, 1321164, 1321669, 1322174, 1322678, 1323183, 1323687, 1324192, 1324696, 1325200, 1325704, 1326208
, 1326712, 1327216, 1327719, 1328223, 1328726, 1329229, 1329733, 1330236, 1330739, 1331242, 1331744, 1332247, 1332750, 1333252, 1333755, 1334257, 1334759, 1335261, 1335763, 1336265
, 1336767, 1337268, 1337770, 1338271, 1338773, 1339274, 1339775, 1340276, 1340777, 1341278, 1341779, 1342279, 1342780, 1343280, 1343781, 1344281, 1344781, 1345281, 1345781, 1346281
, 1346780, 1347280, 1347780, 1348279, 1348778, 1349277, 1349776, 1350275, 1350774, 1351273, 1351772, 1352270, 1352769, 1353267, 1353765, 1354264, 1354762, 1355260, 1355757, 1356255
, 1356753, 1357250, 1357748, 1358245, 1358742, 1359239, 1359736, 1360233, 1360730, 1361227, 1361724, 1362220, 1362716, 1363213, 1363709, 1364205, 1364701, 1365197, 1365693, 1366188
, 1366684, 1367179, 1367675, 1368170, 1368665, 1369160, 1369655, 1370150, 1370645, 1371139, 1371634, 1372128, 1372623, 1373117, 1373611, 1374105, 1374599, 1375093, 1375587, 1376080
, 1376574, 1377067, 1377560, 1378054, 1378547, 1379040, 1379532, 1380025, 1380518, 1381011, 1381503, 1381995, 1382488, 1382980, 1383472, 1383964, 1384456, 1384947, 1385439, 1385931
, 1386422, 1386913, 1387405, 1387896, 1388387, 1388878, 1389369, 1389859, 1390350, 1390840, 1391331, 1391821, 1392311, 1392801, 1393291, 1393781, 1394271, 1394761, 1395250, 1395740
, 1396229, 1396718, 1397208, 1397697, 1398186, 1398674, 1399163, 1399652, 1400140, 1400629, 1401117, 1401605, 1402094, 1402582, 1403069, 1403557, 1404045, 1404533, 1405020, 1405508
, 1405995, 1406482, 1406969, 1407456, 1407943, 1408430, 1408916, 1409403, 1409890, 1410376, 1410862, 1411348, 1411834, 1412320, 1412806, 1413292, 1413778, 1414263, 1414749, 1415234
, 1415719, 1416204, 1416689, 1417174, 1417659, 1418144, 1418628, 1419113, 1419597, 1420082, 1420566, 1421050, 1421534, 1422018, 1422502, 1422985, 1423469, 1423952, 1424436, 1424919
, 1425402, 1425885, 1426368, 1426851, 1427334, 1427817, 1428299, 1428782, 1429264, 1429746, 1430228, 1430710, 1431192, 1431674, 1432156, 1432637, 1433119, 1433600, 1434082, 1434563
, 1435044, 1435525, 1436006, 1436487, 1436967, 1437448, 1437928, 1438409, 1438889, 1439369, 1439849, 1440329, 1440809, 1441289, 1441769, 1442248, 1442728, 1443207, 1443686, 1444165
, 1444644, 1445123, 1445602, 1446081, 1446559, 1447038, 1447516, 1447995, 1448473, 1448951, 1449429, 1449907, 1450385, 1450862, 1451340, 1451817, 1452295, 1452772, 1453249, 1453726
, 1454203, 1454680, 1455157, 1455634, 1456110, 1456587, 1457063, 1457539, 1458015, 1458491, 1458967, 1459443, 1459919, 1460395, 1460870, 1461346, 1461821, 1462296, 1462771, 1463246
, 1463721, 1464196, 1464671, 1465145, 1465620, 1466094, 1466568, 1467043, 1467517, 1467991, 1468465, 1468938, 1469412, 1469886, 1470359, 1470832, 1471306, 1471779, 1472252, 1472725
, 1473198, 1473670, 1474143, 1474616, 1475088, 1475560, 1476033, 1476505, 1476977, 1477449, 1477921, 1478392, 1478864, 1479335, 1479807, 1480278, 1480749, 1481220, 1481691, 1482162
, 1482633, 1483104, 1483574, 1484045, 1484515, 1484985, 1485456, 1485926, 1486396, 1486866, 1487335, 1487805, 1488274, 1488744, 1489213, 1489683, 1490152, 1490621, 1491090, 1491558
, 1492027, 1492496, 1492964, 1493433, 1493901, 1494369, 1494837, 1495305, 1495773, 1496241, 1496709, 1497176, 1497644, 1498111, 1498579, 1499046, 1499513, 1499980, 1500447, 1500914
, 1501380, 1501847, 1502313, 1502780, 1503246, 1503712, 1504178, 1504644, 1505110, 1505576, 1506041, 1506507, 1506972, 1507438, 1507903, 1508368, 1508833, 1509298, 1509763, 1510227
, 1510692, 1511157, 1511621, 1512085, 1512550, 1513014, 1513478, 1513942, 1514405, 1514869, 1515333, 1515796, 1516260, 1516723, 1517186, 1517649, 1518112, 1518575, 1519038, 1519500
, 1519963, 1520425, 1520888, 1521350, 1521812, 1522274, 1522736, 1523198, 1523660, 1524121, 1524583, 1525044, 1525506, 1525967, 1526428, 1526889, 1527350, 1527811, 1528272, 1528732
, 1529193, 1529653, 1530113, 1530574, 1531034, 1531494, 1531954, 1532413, 1532873, 1533333, 1533792, 1534252, 1534711, 1535170, 1535629, 1536088, 1536547, 1537006, 1537465, 1537923
, 1538382, 1538840, 1539298, 1539756, 1540214, 1540672, 1541130, 1541588, 1542046, 1542503, 1542961, 1543418, 1543875, 1544332, 1544789, 1545246, 1545703, 1546160, 1546617, 1547073
, 1547530, 1547986, 1548442, 1548898, 1549354, 1549810, 1550266, 1550722, 1551177, 1551633, 1552088, 1552544, 1552999, 1553454, 1553909, 1554364, 1554818, 1555273, 1555728, 1556182
, 1556637, 1557091, 1557545, 1557999, 1558453, 1558907, 1559361, 1559815, 1560268, 1560722, 1561175, 1561628, 1562081, 1562534, 1562987, 1563440, 1563893, 1564346, 1564798, 1565251
, 1565703, 1566155, 1566607, 1567059, 1567511, 1567963, 1568415, 1568867, 1569318, 1569770, 1570221, 1570672, 1571123, 1571574, 1572025, 1572476, 1572927, 1573377, 1573828, 1574278
, 1574729, 1575179, 1575629, 1576079, 1576529, 1576979, 1577428, 1577878, 1578327, 1578777, 1579226, 1579675, 1580124, 1580573, 1581022, 1581471, 1581920, 1582368, 1582817, 1583265
, 1583714, 1584162, 1584610, 1585058, 1585506, 1585953, 1586401, 1586849, 1587296, 1587744, 1588191, 1588638, 1589085, 1589532, 1589979, 1590426, 1590872, 1591319, 1591765, 1592212
, 1592658, 1593104, 1593550, 1593996, 1594442, 1594888, 1595333, 1595779, 1596224, 1596670, 1597115, 1597560, 1598005, 1598450, 1598895, 1599340, 1599784, 1600229, 1600673, 1601118
, 1601562, 1602006, 1602450, 1602894, 1603338, 1603782, 1604225, 1604669, 1605112, 1605555, 1605999, 1606442, 1606885, 1607328, 1607771, 1608213, 1608656, 1609098, 1609541, 1609983
, 1610425, 1610867, 1611309, 1611751, 1612193, 1612635, 1613076, 1613518, 1613959, 1614401, 1614842, 1615283, 1615724, 1616165, 1616606, 1617046, 1617487, 1617928, 1618368, 1618808
, 1619248, 1619689, 1620129, 1620568, 1621008, 1621448, 1621888, 1622327, 1622766, 1623206, 1623645, 1624084, 1624523, 1624962, 1625401, 1625839, 1626278, 1626716, 1627155, 1627593
, 1628031, 1628469, 1628907, 1629345, 1629783, 1630221, 1630658, 1631096, 1631533, 1631970, 1632408, 1632845, 1633282, 1633719, 1634155, 1634592, 1635029, 1635465, 1635902, 1636338
, 1636774, 1637210, 1637646, 1638082, 1638518, 1638953, 1639389, 1639824, 1640260, 1640695, 1641130, 1641565, 1642000, 1642435, 1642870, 1643305, 1643739, 1644174, 1644608, 1645042
, 1645477, 1645911, 1646345, 1646779, 1647212, 1647646, 1648080, 1648513, 1648946, 1649380, 1649813, 1650246, 1650679, 1651112, 1651545, 1651977, 1652410, 1652842, 1653275, 1653707
, 1654139, 1654571, 1655003, 1655435, 1655867, 1656299, 1656730, 1657162, 1657593, 1658024, 1658456, 1658887, 1659318, 1659749, 1660179, 1660610, 1661041, 1661471, 1661901, 1662332
, 1662762, 1663192, 1663622, 1664052, 1664482, 1664911, 1665341, 1665770, 1666200, 1666629, 1667058, 1667487, 1667916, 1668345, 1668774, 1669203, 1669631, 1670060, 1670488, 1670917
, 1671345, 1671773, 1672201, 1672629, 1673057, 1673484, 1673912, 1674340, 1674767, 1675194, 1675621, 1676049, 1676476, 1676902, 1677329, 1677756, 1678183, 1678609, 1679036, 1679462
, 1679888, 1680314, 1680740, 1681166, 1681592, 1682018, 1682443, 1682869, 1683294, 1683720, 1684145, 1684570, 1684995, 1685420, 1685845, 1686270, 1686694, 1687119, 1687543, 1687967
, 1688392, 1688816, 1689240, 1689664, 1690088, 1690511, 1690935, 1691359, 1691782, 1692205, 1692629, 1693052, 1693475, 1693898, 1694321, 1694743, 1695166, 1695589, 1696011, 1696434
, 1696856, 1697278, 1697700, 1698122, 1698544, 1698966, 1699387, 1699809, 1700230, 1700652, 1701073, 1701494, 1701915, 1702336, 1702757, 1703178, 1703599, 1704019, 1704440, 1704860
, 1705281, 1705701, 1706121, 1706541, 1706961, 1707381, 1707800, 1708220, 1708639, 1709059, 1709478, 1709897, 1710317, 1710736, 1711154, 1711573, 1711992, 1712411, 1712829, 1713248
, 1713666, 1714084, 1714502, 1714920, 1715338, 1715756, 1716174, 1716592, 1717009, 1717427, 1717844, 1718261, 1718678, 1719096, 1719512, 1719929, 1720346, 1720763, 1721179, 1721596
, 1722012, 1722429, 1722845, 1723261, 1723677, 1724093, 1724509, 1724924, 1725340, 1725755, 1726171, 1726586, 1727001, 1727416, 1727831, 1728246, 1728661, 1729076, 1729490, 1729905
, 1730319, 1730734, 1731148, 1731562, 1731976, 1732390, 1732804, 1733218, 1733631, 1734045, 1734458, 1734872, 1735285, 1735698, 1736111, 1736524, 1736937, 1737350, 1737763, 1738175
, 1738588, 1739000, 1739412, 1739825, 1740237, 1740649, 1741061, 1741472, 1741884, 1742296, 1742707, 1743119, 1743530, 1743941, 1744352, 1744763, 1745174, 1745585, 1745996, 1746407
, 1746817, 1747228, 1747638, 1748048, 1748458, 1748868, 1749278, 1749688, 1750098, 1750508, 1750917, 1751327, 1751736, 1752145, 1752555, 1752964, 1753373, 1753782, 1754190, 1754599
, 1755008, 1755416, 1755825, 1756233, 1756641, 1757049, 1757457, 1757865, 1758273, 1758681, 1759089, 1759496, 1759904, 1760311, 1760718, 1761126, 1761533, 1761940, 1762346, 1762753
, 1763160, 1763567, 1763973, 1764379, 1764786, 1765192, 1765598, 1766004, 1766410, 1766816, 1767222, 1767627, 1768033, 1768438, 1768843, 1769249, 1769654, 1770059, 1770464, 1770869
, 1771274, 1771678, 1772083, 1772487, 1772892, 1773296, 1773700, 1774104, 1774508, 1774912, 1775316, 1775720, 1776123, 1776527, 1776930, 1777334, 1777737, 1778140, 1778543, 1778946
, 1779349, 1779752, 1780154, 1780557, 1780959, 1781362, 1781764, 1782166, 1782568, 1782970, 1783372, 1783774, 1784176, 1784577, 1784979, 1785380, 1785782, 1786183, 1786584, 1786985
, 1787386, 1787787, 1788187, 1788588, 1788989, 1789389, 1789790, 1790190, 1790590, 1790990, 1791390, 1791790, 1792190, 1792590, 1792989, 1793389, 1793788, 1794187, 1794587, 1794986
, 1795385, 1795784, 1796183, 1796581, 1796980, 1797379, 1797777, 1798175, 1798574, 1798972, 1799370, 1799768, 1800166, 1800564, 1800961, 1801359, 1801757, 1802154, 1802551, 1802949
, 1803346, 1803743, 1804140, 1804537, 1804933, 1805330, 1805727, 1806123, 1806520, 1806916, 1807312, 1807708, 1808104, 1808500, 1808896, 1809292, 1809687, 1810083, 1810478, 1810874
, 1811269, 1811664, 1812059, 1812454, 1812849, 1813244, 1813639, 1814033, 1814428, 1814822, 1815216, 1815611, 1816005, 1816399, 1816793, 1817187, 1817580, 1817974, 1818368, 1818761
, 1819154, 1819548, 1819941, 1820334, 1820727, 1821120, 1821513, 1821905, 1822298, 1822691, 1823083, 1823475, 1823868, 1824260, 1824652, 1825044, 1825436, 1825827, 1826219, 1826611
, 1827002, 1827394, 1827785, 1828176, 1828567, 1828958, 1829349, 1829740, 1830131, 1830522, 1830912, 1831303, 1831693, 1832083, 1832473, 1832863, 1833254, 1833643, 1834033, 1834423
, 1834813, 1835202, 1835592, 1835981, 1836370, 1836759, 1837148, 1837537, 1837926, 1838315, 1838704, 1839092, 1839481, 1839869, 1840258, 1840646, 1841034, 1841422, 1841810, 1842198
, 1842586, 1842973, 1843361, 1843748, 1844136, 1844523, 1844910, 1845297, 1845684, 1846071, 1846458, 1846845, 1847232, 1847618, 1848005, 1848391, 1848777, 1849164, 1849550, 1849936
, 1850322, 1850707, 1851093, 1851479, 1851864, 1852250, 1852635, 1853020, 1853406, 1853791, 1854176, 1854561, 1854945, 1855330, 1855715, 1856099, 1856484, 1856868, 1857252, 1857636
, 1858020, 1858404, 1858788, 1859172, 1859556, 1859939, 1860323, 1860706, 1861090, 1861473, 1861856, 1862239, 1862622, 1863005, 1863388, 1863770, 1864153, 1864535, 1864918, 1865300
, 1865682, 1866065, 1866447, 1866829, 1867210, 1867592, 1867974, 1868355, 1868737, 1869118, 1869500, 1869881, 1870262, 1870643, 1871024, 1871405, 1871785, 1872166, 1872547, 1872927
, 1873308, 1873688, 1874068, 1874448, 1874828, 1875208, 1875588, 1875968, 1876347, 1876727, 1877106, 1877486, 1877865, 1878244, 1878623, 1879002, 1879381, 1879760, 1880139, 1880518
, 1880896, 1881275, 1881653, 1882031, 1882409, 1882788, 1883166, 1883544, 1883921, 1884299, 1884677, 1885054, 1885432, 1885809, 1886186, 1886564, 1886941, 1887318, 1887695, 1888072
, 1888448, 1888825, 1889201, 1889578, 1889954, 1890331, 1890707, 1891083, 1891459, 1891835, 1892211, 1892586, 1892962, 1893338, 1893713, 1894088, 1894464, 1894839, 1895214, 1895589
, 1895964, 1896339, 1896714, 1897088, 1897463, 1897837, 1898212, 1898586, 1898960, 1899334, 1899708, 1900082, 1900456, 1900830, 1901203, 1901577, 1901951, 1902324, 1902697, 1903070
, 1903444, 1903817, 1904190, 1904562, 1904935, 1905308, 1905680, 1906053, 1906425, 1906798, 1907170, 1907542, 1907914, 1908286, 1908658, 1909030, 1909401, 1909773, 1910144, 1910516
, 1910887, 1911258, 1911629, 1912000, 1912371, 1912742, 1913113, 1913484, 1913854, 1914225, 1914595, 1914966, 1915336, 1915706, 1916076, 1916446, 1916816, 1917186, 1917556, 1917925
, 1918295, 1918664, 1919033, 1919403, 1919772, 1920141, 1920510, 1920879, 1921248, 1921616, 1921985, 1922354, 1922722, 1923090, 1923459, 1923827, 1924195, 1924563, 1924931, 1925299
, 1925667, 1926034, 1926402, 1926769, 1927137, 1927504, 1927871, 1928238, 1928605, 1928972, 1929339, 1929706, 1930073, 1930439, 1930806, 1931172, 1931538, 1931905, 1932271, 1932637
, 1933003, 1933369, 1933734, 1934100, 1934466, 1934831, 1935197, 1935562, 1935927, 1936292, 1936658, 1937023, 1937387, 1937752, 1938117, 1938482, 1938846, 1939211, 1939575, 1939939
, 1940304, 1940668, 1941032, 1941396, 1941759, 1942123, 1942487, 1942850, 1943214, 1943577, 1943941, 1944304, 1944667, 1945030, 1945393, 1945756, 1946119, 1946481, 1946844, 1947207
, 1947569, 1947931, 1948294, 1948656, 1949018, 1949380, 1949742, 1950104, 1950465, 1950827, 1951189, 1951550, 1951911, 1952273, 1952634, 1952995, 1953356, 1953717, 1954078, 1954439
, 1954799, 1955160, 1955520, 1955881, 1956241, 1956601, 1956962, 1957322, 1957682, 1958041, 1958401, 1958761, 1959121, 1959480, 1959840, 1960199, 1960558, 1960917, 1961277, 1961636
, 1961995, 1962353, 1962712, 1963071, 1963429, 1963788, 1964146, 1964505, 1964863, 1965221, 1965579, 1965937, 1966295, 1966653, 1967010, 1967368, 1967726, 1968083, 1968440, 1968798
, 1969155, 1969512, 1969869, 1970226, 1970583, 1970940, 1971296, 1971653, 1972009, 1972366, 1972722, 1973078, 1973434, 1973791, 1974147, 1974502, 1974858, 1975214, 1975570, 1975925
, 1976281, 1976636, 1976991, 1977346, 1977702, 1978057, 1978412, 1978766, 1979121, 1979476, 1979830, 1980185, 1980539, 1980894, 1981248, 1981602, 1981956, 1982310, 1982664, 1983018
, 1983372, 1983725, 1984079, 1984432, 1984786, 1985139, 1985492, 1985845, 1986199, 1986551, 1986904, 1987257, 1987610, 1987962, 1988315, 1988667, 1989020, 1989372, 1989724, 1990076
, 1990428, 1990780, 1991132, 1991484, 1991836, 1992187, 1992539, 1992890, 1993241, 1993593, 1993944, 1994295, 1994646, 1994997, 1995348, 1995698, 1996049, 1996400, 1996750, 1997101
, 1997451, 1997801, 1998151, 1998501, 1998851, 1999201, 1999551, 1999901, 2000250, 2000600, 2000949, 2001299, 2001648, 2001997, 2002346, 2002695, 2003044, 2003393, 2003742, 2004091
, 2004439, 2004788, 2005136, 2005484, 2005833, 2006181, 2006529, 2006877, 2007225, 2007573, 2007921, 2008268, 2008616, 2008963, 2009311, 2009658, 2010005, 2010353, 2010700, 2011047
, 2011394, 2011740, 2012087, 2012434, 2012780, 2013127, 2013473, 2013820, 2014166, 2014512, 2014858, 2015204, 2015550, 2015896, 2016241, 2016587, 2016933, 2017278, 2017624, 2017969
, 2018314, 2018659, 2019004, 2019349, 2019694, 2020039, 2020384, 2020728, 2021073, 2021417, 2021762, 2022106, 2022450, 2022794, 2023138, 2023482, 2023826, 2024170, 2024514, 2024857
, 2025201, 2025544, 2025888, 2026231, 2026574, 2026917, 2027261, 2027604, 2027946, 2028289, 2028632, 2028975, 2029317, 2029660, 2030002, 2030344, 2030686, 2031029, 2031371, 2031713
, 2032054, 2032396, 2032738, 2033080, 2033421, 2033763, 2034104, 2034445, 2034786, 2035128, 2035469, 2035810, 2036150, 2036491, 2036832, 2037173, 2037513, 2037854, 2038194, 2038534
, 2038874, 2039215, 2039555, 2039895, 2040235, 2040574, 2040914, 2041254, 2041593, 2041933, 2042272, 2042611, 2042951, 2043290, 2043629, 2043968, 2044307, 2044645, 2044984, 2045323
, 2045661, 2046000, 2046338, 2046677, 2047015, 2047353, 2047691, 2048029, 2048367, 2048705, 2049042, 2049380, 2049718, 2050055, 2050393, 2050730, 2051067, 2051404, 2051741, 2052078
, 2052415, 2052752, 2053089, 2053425, 2053762, 2054099, 2054435, 2054771, 2055108, 2055444, 2055780, 2056116, 2056452, 2056788, 2057123, 2057459, 2057795, 2058130, 2058466, 2058801
, 2059136, 2059471, 2059806, 2060142, 2060476, 2060811, 2061146, 2061481, 2061815, 2062150, 2062484, 2062819, 2063153, 2063487, 2063821, 2064155, 2064489, 2064823, 2065157, 2065491
, 2065824, 2066158, 2066491, 2066825, 2067158, 2067491, 2067825, 2068158, 2068491, 2068824, 2069156, 2069489, 2069822, 2070154, 2070487, 2070819, 2071152, 2071484, 2071816, 2072148
, 2072480, 2072812, 2073144, 2073476, 2073807, 2074139, 2074470, 2074802, 2075133, 2075465, 2075796, 2076127, 2076458, 2076789, 2077120, 2077451, 2077781, 2078112, 2078443, 2078773
, 2079103, 2079434, 2079764, 2080094, 2080424, 2080754, 2081084, 2081414, 2081744, 2082073, 2082403, 2082732, 2083062, 2083391, 2083720, 2084050, 2084379, 2084708, 2085037, 2085366
, 2085694, 2086023, 2086352, 2086680, 2087009, 2087337, 2087665, 2087994, 2088322, 2088650, 2088978, 2089306, 2089634, 2089961, 2090289, 2090617, 2090944, 2091272, 2091599, 2091926
, 2092253, 2092580, 2092907, 2093234, 2093561, 2093888, 2094215, 2094541, 2094868, 2095194, 2095521, 2095847, 2096173, 2096499, 2096826, 2097152};

}
